From 220952f43ae6f38add84f9e7b0e66e3d27ccbc02 Mon Sep 17 00:00:00 2001 From: Yuchao Yan Date: Tue, 3 Feb 2026 08:47:49 +0000 Subject: [PATCH 01/12] add test case --- ...ager_multi_service_older_versions_async.py | 106 ++++++++++++++ ...nager_multi_service_shared_models_async.py | 132 ++++++++++++++++++ ...ce_manager_multi_service_older_versions.py | 102 ++++++++++++++ ...rce_manager_multi_service_shared_models.py | 128 +++++++++++++++++ .../generator/test/azure/requirements.txt | 2 + packages/http-client-python/package-lock.json | 28 ++-- packages/http-client-python/package.json | 4 +- 7 files changed, 486 insertions(+), 16 deletions(-) create mode 100644 packages/http-client-python/generator/test/azure/mock_api_tests/asynctests/test_azure_resource_manager_multi_service_older_versions_async.py create mode 100644 packages/http-client-python/generator/test/azure/mock_api_tests/asynctests/test_azure_resource_manager_multi_service_shared_models_async.py create mode 100644 packages/http-client-python/generator/test/azure/mock_api_tests/test_azure_resource_manager_multi_service_older_versions.py create mode 100644 packages/http-client-python/generator/test/azure/mock_api_tests/test_azure_resource_manager_multi_service_shared_models.py diff --git a/packages/http-client-python/generator/test/azure/mock_api_tests/asynctests/test_azure_resource_manager_multi_service_older_versions_async.py b/packages/http-client-python/generator/test/azure/mock_api_tests/asynctests/test_azure_resource_manager_multi_service_older_versions_async.py new file mode 100644 index 00000000000..348e67cf337 --- /dev/null +++ b/packages/http-client-python/generator/test/azure/mock_api_tests/asynctests/test_azure_resource_manager_multi_service_older_versions_async.py @@ -0,0 +1,106 @@ +# ------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# -------------------------------------------------------------------------- +import pytest +from azure.resourcemanager.multiserviceolderversions.combined.aio import CombinedClient +from azure.resourcemanager.multiserviceolderversions.combined.models import VirtualMachine, Disk, VirtualMachineProperties, DiskProperties + + +@pytest.fixture +async def client(credential, authentication_policy): + """Create a Combined async client for testing.""" + return CombinedClient( + credential=credential, + subscription_id="00000000-0000-0000-0000-000000000000", + base_url="http://localhost:3000", + authentication_policy=authentication_policy, + polling_interval=0.1, + ) + + +@pytest.mark.asyncio +async def test_virtual_machines_get(client): + """Test getting a virtual machine.""" + resource_group_name = "test-rg" + vm_name = "vm-old1" + + result = await client.virtual_machines.get(resource_group_name=resource_group_name, vm_name=vm_name) + + assert result is not None + assert isinstance(result, VirtualMachine) + assert result.name == vm_name + assert result.location == "eastus" + assert result.properties is not None + assert result.properties.provisioning_state == "Succeeded" + assert result.properties.size == "Standard_D2s_v3" + + +@pytest.mark.asyncio +async def test_virtual_machines_create_or_update(client): + """Test creating or updating a virtual machine.""" + resource_group_name = "test-rg" + vm_name = "vm-old1" + + vm_resource = VirtualMachine( + location="eastus", + properties=VirtualMachineProperties(size="Standard_D2s_v3"), + ) + + poller = await client.virtual_machines.begin_create_or_update( + resource_group_name=resource_group_name, + vm_name=vm_name, + resource=vm_resource, + ) + + result = await poller.result() + assert result is not None + assert isinstance(result, VirtualMachine) + assert result.location == "eastus" + assert result.properties is not None + assert result.properties.provisioning_state == "Succeeded" + assert result.properties.size == "Standard_D2s_v3" + + +@pytest.mark.asyncio +async def test_disks_get(client): + """Test getting a disk.""" + resource_group_name = "test-rg" + disk_name = "disk-old1" + + result = await client.disks.get(resource_group_name=resource_group_name, disk_name=disk_name) + + assert result is not None + assert isinstance(result, Disk) + assert result.name == disk_name + assert result.location == "eastus" + assert result.properties is not None + assert result.properties.provisioning_state == "Succeeded" + assert result.properties.disk_size_gb == 128 + + +@pytest.mark.asyncio +async def test_disks_create_or_update(client): + """Test creating or updating a disk.""" + resource_group_name = "test-rg" + disk_name = "disk-old1" + + disk_resource = Disk( + location="eastus", + properties=DiskProperties(disk_size_gb=128), + ) + + poller = await client.disks.begin_create_or_update( + resource_group_name=resource_group_name, + disk_name=disk_name, + resource=disk_resource, + ) + + result = await poller.result() + assert result is not None + assert isinstance(result, Disk) + assert result.location == "eastus" + assert result.properties is not None + assert result.properties.provisioning_state == "Succeeded" + assert result.properties.disk_size_gb == 128 diff --git a/packages/http-client-python/generator/test/azure/mock_api_tests/asynctests/test_azure_resource_manager_multi_service_shared_models_async.py b/packages/http-client-python/generator/test/azure/mock_api_tests/asynctests/test_azure_resource_manager_multi_service_shared_models_async.py new file mode 100644 index 00000000000..ee1c21bfbe1 --- /dev/null +++ b/packages/http-client-python/generator/test/azure/mock_api_tests/asynctests/test_azure_resource_manager_multi_service_shared_models_async.py @@ -0,0 +1,132 @@ +# ------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# -------------------------------------------------------------------------- +import pytest +from azure.resourcemanager.multiservicesharedmodels.combined.aio import CombinedClient +from azure.resourcemanager.multiservicesharedmodels.combined.models import ( + VirtualMachine, + VirtualMachineProperties, + StorageAccount, + StorageAccountProperties, + SharedMetadata, +) + + +@pytest.fixture +async def client(credential, authentication_policy): + """Create a Combined async client for testing.""" + return CombinedClient( + credential=credential, + subscription_id="00000000-0000-0000-0000-000000000000", + base_url="http://localhost:3000", + authentication_policy=authentication_policy, + polling_interval=0.1, + ) + + +@pytest.mark.asyncio +async def test_virtual_machines_get(client): + """Test getting a virtual machine with shared metadata.""" + resource_group_name = "test-rg" + vm_name = "vm-shared1" + + result = await client.virtual_machines.get(resource_group_name=resource_group_name, vm_name=vm_name) + + assert result is not None + assert isinstance(result, VirtualMachine) + assert result.name == vm_name + assert result.location == "eastus" + assert result.type == "Microsoft.Compute/virtualMachinesShared" + assert result.properties is not None + assert result.properties.provisioning_state == "Succeeded" + assert result.properties.metadata is not None + assert result.properties.metadata.created_by == "user@example.com" + assert result.properties.metadata.tags == {"environment": "production"} + + +@pytest.mark.asyncio +async def test_virtual_machines_create_or_update(client): + """Test creating or updating a virtual machine with shared metadata.""" + resource_group_name = "test-rg" + vm_name = "vm-shared1" + + vm_resource = VirtualMachine( + location="eastus", + properties=VirtualMachineProperties( + metadata=SharedMetadata( + created_by="user@example.com", + tags={"environment": "production"}, + ), + ), + ) + + poller = await client.virtual_machines.begin_create_or_update( + resource_group_name=resource_group_name, + vm_name=vm_name, + resource=vm_resource, + ) + + result = await poller.result() + assert result is not None + assert isinstance(result, VirtualMachine) + assert result.location == "eastus" + assert result.properties is not None + assert result.properties.provisioning_state == "Succeeded" + assert result.properties.metadata is not None + assert result.properties.metadata.created_by == "user@example.com" + assert result.properties.metadata.tags == {"environment": "production"} + + +@pytest.mark.asyncio +async def test_storage_accounts_get(client): + """Test getting a storage account with shared metadata.""" + resource_group_name = "test-rg" + account_name = "account1" + + result = await client.storage_accounts.get(resource_group_name=resource_group_name, account_name=account_name) + + assert result is not None + assert isinstance(result, StorageAccount) + assert result.name == account_name + assert result.location == "westus" + assert result.type == "Microsoft.Storage/storageAccounts" + assert result.properties is not None + assert result.properties.provisioning_state == "Succeeded" + assert result.properties.metadata is not None + assert result.properties.metadata.created_by == "admin@example.com" + assert result.properties.metadata.tags == {"department": "engineering"} + + +@pytest.mark.asyncio +async def test_storage_accounts_create_or_update(client): + """Test creating or updating a storage account with shared metadata.""" + resource_group_name = "test-rg" + account_name = "account1" + + storage_resource = StorageAccount( + location="westus", + properties=StorageAccountProperties( + metadata=SharedMetadata( + created_by="admin@example.com", + tags={"department": "engineering"}, + ), + ), + ) + + poller = await client.storage_accounts.begin_create_or_update( + resource_group_name=resource_group_name, + account_name=account_name, + resource=storage_resource, + ) + + result = await poller.result() + assert result is not None + assert isinstance(result, StorageAccount) + assert result.location == "westus" + assert result.properties is not None + assert result.properties.provisioning_state == "Succeeded" + assert result.properties.metadata is not None + assert result.properties.metadata.created_by == "admin@example.com" + assert result.properties.metadata.tags == {"department": "engineering"} diff --git a/packages/http-client-python/generator/test/azure/mock_api_tests/test_azure_resource_manager_multi_service_older_versions.py b/packages/http-client-python/generator/test/azure/mock_api_tests/test_azure_resource_manager_multi_service_older_versions.py new file mode 100644 index 00000000000..288ab8076d8 --- /dev/null +++ b/packages/http-client-python/generator/test/azure/mock_api_tests/test_azure_resource_manager_multi_service_older_versions.py @@ -0,0 +1,102 @@ +# ------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# -------------------------------------------------------------------------- +import pytest +from azure.resourcemanager.multiserviceolderversions.combined import CombinedClient +from azure.resourcemanager.multiserviceolderversions.combined.models import VirtualMachine, Disk, VirtualMachineProperties, DiskProperties + + +@pytest.fixture +def client(credential, authentication_policy): + """Create a Combined client for testing.""" + return CombinedClient( + credential=credential, + subscription_id="00000000-0000-0000-0000-000000000000", + base_url="http://localhost:3000", + authentication_policy=authentication_policy, + polling_interval=0.1, + ) + + +def test_virtual_machines_get(client): + """Test getting a virtual machine.""" + resource_group_name = "test-rg" + vm_name = "vm-old1" + + result = client.virtual_machines.get(resource_group_name=resource_group_name, vm_name=vm_name) + + assert result is not None + assert isinstance(result, VirtualMachine) + assert result.name == vm_name + assert result.location == "eastus" + assert result.properties is not None + assert result.properties.provisioning_state == "Succeeded" + assert result.properties.size == "Standard_D2s_v3" + + +def test_virtual_machines_create_or_update(client): + """Test creating or updating a virtual machine.""" + resource_group_name = "test-rg" + vm_name = "vm-old1" + + vm_resource = VirtualMachine( + location="eastus", + properties=VirtualMachineProperties(size="Standard_D2s_v3"), + ) + + poller = client.virtual_machines.begin_create_or_update( + resource_group_name=resource_group_name, + vm_name=vm_name, + resource=vm_resource, + ) + + result = poller.result() + assert result is not None + assert isinstance(result, VirtualMachine) + assert result.location == "eastus" + assert result.properties is not None + assert result.properties.provisioning_state == "Succeeded" + assert result.properties.size == "Standard_D2s_v3" + + +def test_disks_get(client): + """Test getting a disk.""" + resource_group_name = "test-rg" + disk_name = "disk-old1" + + result = client.disks.get(resource_group_name=resource_group_name, disk_name=disk_name) + + assert result is not None + assert isinstance(result, Disk) + assert result.name == disk_name + assert result.location == "eastus" + assert result.properties is not None + assert result.properties.provisioning_state == "Succeeded" + assert result.properties.disk_size_gb == 128 + + +def test_disks_create_or_update(client): + """Test creating or updating a disk.""" + resource_group_name = "test-rg" + disk_name = "disk-old1" + + disk_resource = Disk( + location="eastus", + properties=DiskProperties(disk_size_gb=128), + ) + + poller = client.disks.begin_create_or_update( + resource_group_name=resource_group_name, + disk_name=disk_name, + resource=disk_resource, + ) + + result = poller.result() + assert result is not None + assert isinstance(result, Disk) + assert result.location == "eastus" + assert result.properties is not None + assert result.properties.provisioning_state == "Succeeded" + assert result.properties.disk_size_gb == 128 diff --git a/packages/http-client-python/generator/test/azure/mock_api_tests/test_azure_resource_manager_multi_service_shared_models.py b/packages/http-client-python/generator/test/azure/mock_api_tests/test_azure_resource_manager_multi_service_shared_models.py new file mode 100644 index 00000000000..0e3f67ebc10 --- /dev/null +++ b/packages/http-client-python/generator/test/azure/mock_api_tests/test_azure_resource_manager_multi_service_shared_models.py @@ -0,0 +1,128 @@ +# ------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# -------------------------------------------------------------------------- +import pytest +from azure.resourcemanager.multiservicesharedmodels.combined import CombinedClient +from azure.resourcemanager.multiservicesharedmodels.combined.models import ( + VirtualMachine, + VirtualMachineProperties, + StorageAccount, + StorageAccountProperties, + SharedMetadata, +) + + +@pytest.fixture +def client(credential, authentication_policy): + """Create a Combined client for testing.""" + return CombinedClient( + credential=credential, + subscription_id="00000000-0000-0000-0000-000000000000", + base_url="http://localhost:3000", + authentication_policy=authentication_policy, + polling_interval=0.1, + ) + + +def test_virtual_machines_get(client): + """Test getting a virtual machine with shared metadata.""" + resource_group_name = "test-rg" + vm_name = "vm-shared1" + + result = client.virtual_machines.get(resource_group_name=resource_group_name, vm_name=vm_name) + + assert result is not None + assert isinstance(result, VirtualMachine) + assert result.name == vm_name + assert result.location == "eastus" + assert result.type == "Microsoft.Compute/virtualMachinesShared" + assert result.properties is not None + assert result.properties.provisioning_state == "Succeeded" + assert result.properties.metadata is not None + assert result.properties.metadata.created_by == "user@example.com" + assert result.properties.metadata.tags == {"environment": "production"} + + +def test_virtual_machines_create_or_update(client): + """Test creating or updating a virtual machine with shared metadata.""" + resource_group_name = "test-rg" + vm_name = "vm-shared1" + + vm_resource = VirtualMachine( + location="eastus", + properties=VirtualMachineProperties( + metadata=SharedMetadata( + created_by="user@example.com", + tags={"environment": "production"}, + ), + ), + ) + + poller = client.virtual_machines.begin_create_or_update( + resource_group_name=resource_group_name, + vm_name=vm_name, + resource=vm_resource, + ) + + result = poller.result() + assert result is not None + assert isinstance(result, VirtualMachine) + assert result.location == "eastus" + assert result.properties is not None + assert result.properties.provisioning_state == "Succeeded" + assert result.properties.metadata is not None + assert result.properties.metadata.created_by == "user@example.com" + assert result.properties.metadata.tags == {"environment": "production"} + + +def test_storage_accounts_get(client): + """Test getting a storage account with shared metadata.""" + resource_group_name = "test-rg" + account_name = "account1" + + result = client.storage_accounts.get(resource_group_name=resource_group_name, account_name=account_name) + + assert result is not None + assert isinstance(result, StorageAccount) + assert result.name == account_name + assert result.location == "westus" + assert result.type == "Microsoft.Storage/storageAccounts" + assert result.properties is not None + assert result.properties.provisioning_state == "Succeeded" + assert result.properties.metadata is not None + assert result.properties.metadata.created_by == "admin@example.com" + assert result.properties.metadata.tags == {"department": "engineering"} + + +def test_storage_accounts_create_or_update(client): + """Test creating or updating a storage account with shared metadata.""" + resource_group_name = "test-rg" + account_name = "account1" + + storage_resource = StorageAccount( + location="westus", + properties=StorageAccountProperties( + metadata=SharedMetadata( + created_by="admin@example.com", + tags={"department": "engineering"}, + ), + ), + ) + + poller = client.storage_accounts.begin_create_or_update( + resource_group_name=resource_group_name, + account_name=account_name, + resource=storage_resource, + ) + + result = poller.result() + assert result is not None + assert isinstance(result, StorageAccount) + assert result.location == "westus" + assert result.properties is not None + assert result.properties.provisioning_state == "Succeeded" + assert result.properties.metadata is not None + assert result.properties.metadata.created_by == "admin@example.com" + assert result.properties.metadata.tags == {"department": "engineering"} diff --git a/packages/http-client-python/generator/test/azure/requirements.txt b/packages/http-client-python/generator/test/azure/requirements.txt index 605b54125e2..8c9d1fd91a9 100644 --- a/packages/http-client-python/generator/test/azure/requirements.txt +++ b/packages/http-client-python/generator/test/azure/requirements.txt @@ -37,6 +37,8 @@ azure-mgmt-core==1.6.0 -e ./generated/azure-resource-manager-resources -e ./generated/azure-resource-manager-method-subscription-id -e ./generated/azure-resource-manager-multi-service +-e ./generated/azure-resource-manager-multi-service-older-versions +-e ./generated/azure-resource-manager-multi-service-shared-models -e ./generated/azure-versioning-previewversion -e ./generated/client-namespace -e ./generated/azure-payload-pageable diff --git a/packages/http-client-python/package-lock.json b/packages/http-client-python/package-lock.json index ac5e9d4a5f4..ca1f8c888e7 100644 --- a/packages/http-client-python/package-lock.json +++ b/packages/http-client-python/package-lock.json @@ -17,7 +17,7 @@ "tsx": "~4.19.1" }, "devDependencies": { - "@azure-tools/azure-http-specs": "0.1.0-alpha.36", + "@azure-tools/azure-http-specs": "0.1.0-alpha.37-dev.1", "@azure-tools/typespec-autorest": "~0.64.1", "@azure-tools/typespec-azure-core": "~0.64.0", "@azure-tools/typespec-azure-resource-manager": "~0.64.1", @@ -29,7 +29,7 @@ "@typespec/compiler": "^1.8.0", "@typespec/events": "~0.78.0", "@typespec/http": "^1.8.0", - "@typespec/http-specs": "0.1.0-alpha.32-dev.1", + "@typespec/http-specs": "0.1.0-alpha.32-dev.4", "@typespec/openapi": "^1.8.0", "@typespec/rest": "~0.78.0", "@typespec/spec-api": "0.1.0-alpha.12", @@ -66,25 +66,25 @@ } }, "node_modules/@azure-tools/azure-http-specs": { - "version": "0.1.0-alpha.36", - "resolved": "https://registry.npmjs.org/@azure-tools/azure-http-specs/-/azure-http-specs-0.1.0-alpha.36.tgz", - "integrity": "sha512-tn6qiiTA+ToLmOqj4CSJNAbeuSUj6hIRiXzDhR8b7jilFLnXQ2MYKnJNnjL2O/CDd0utWUqg/2kNlQitSLnxmA==", + "version": "0.1.0-alpha.37-dev.1", + "resolved": "https://registry.npmjs.org/@azure-tools/azure-http-specs/-/azure-http-specs-0.1.0-alpha.37-dev.1.tgz", + "integrity": "sha512-lGu4bBoN8ghpHWUwRJK2auHcY+AUpPkcVbD18Z06FBi66vR8m7e0dczOl40YpUKUlbjlGjZon9QT2iSp9hKoWA==", "dev": true, "license": "MIT", "dependencies": { - "@typespec/spec-api": "^0.1.0-alpha.12", - "@typespec/spector": "^0.1.0-alpha.22" + "@typespec/spec-api": "^0.1.0-alpha.12 || >=0.1.0-alpha.13-dev <0.1.0-alpha.13", + "@typespec/spector": "^0.1.0-alpha.22 || >=0.1.0-alpha.23-dev <0.1.0-alpha.23" }, "engines": { "node": ">=20.0.0" }, "peerDependencies": { - "@azure-tools/typespec-azure-core": "^0.64.0", + "@azure-tools/typespec-azure-core": "^0.64.0 || >=0.65.0-dev <0.65.0", "@typespec/compiler": "^1.8.0", "@typespec/http": "^1.8.0", - "@typespec/rest": "^0.78.0", - "@typespec/versioning": "^0.78.0", - "@typespec/xml": "^0.78.0" + "@typespec/rest": "^0.78.0 || >=0.79.0-dev <0.79.0", + "@typespec/versioning": "^0.78.0 || >=0.79.0-dev <0.79.0", + "@typespec/xml": "^0.78.0 || >=0.79.0-dev <0.79.0" } }, "node_modules/@azure-tools/typespec-autorest": { @@ -2318,9 +2318,9 @@ } }, "node_modules/@typespec/http-specs": { - "version": "0.1.0-alpha.32-dev.1", - "resolved": "https://registry.npmjs.org/@typespec/http-specs/-/http-specs-0.1.0-alpha.32-dev.1.tgz", - "integrity": "sha512-b+uzFhToERrmV154eqnCoQiw4Jekn+DRamfZVAl7ndVeayDq9zLNZyPnCmeU1+bdKxUGO8WoGkpA9BeGP3teeA==", + "version": "0.1.0-alpha.32-dev.4", + "resolved": "https://registry.npmjs.org/@typespec/http-specs/-/http-specs-0.1.0-alpha.32-dev.4.tgz", + "integrity": "sha512-lfyGyfP5wu99zKkSsS5I/niuLlHYf1+HoukGF7ZOyTHvwF67kbSLpKvRoaTqGcmkGKgFPFgD4QZVyAjkJAB4wQ==", "dev": true, "license": "MIT", "dependencies": { diff --git a/packages/http-client-python/package.json b/packages/http-client-python/package.json index 2a8d90e731f..2228cd8b186 100644 --- a/packages/http-client-python/package.json +++ b/packages/http-client-python/package.json @@ -82,7 +82,7 @@ "@azure-tools/typespec-azure-resource-manager": "~0.64.1", "@azure-tools/typespec-azure-rulesets": "~0.64.0", "@azure-tools/typespec-client-generator-core": "~0.64.5", - "@azure-tools/azure-http-specs": "0.1.0-alpha.36", + "@azure-tools/azure-http-specs": "0.1.0-alpha.37-dev.1", "@typespec/compiler": "^1.8.0", "@typespec/http": "^1.8.0", "@typespec/openapi": "^1.8.0", @@ -94,7 +94,7 @@ "@typespec/sse": "~0.78.0", "@typespec/streams": "~0.78.0", "@typespec/xml": "~0.78.0", - "@typespec/http-specs": "0.1.0-alpha.32-dev.1", + "@typespec/http-specs": "0.1.0-alpha.32-dev.4", "@types/js-yaml": "~4.0.5", "@types/node": "~24.1.0", "@types/semver": "7.5.8", From f0ee7ae0b8ac59fc70fa6a519c5d78b70c3bec3b Mon Sep 17 00:00:00 2001 From: Yuchao Yan Date: Tue, 3 Feb 2026 08:53:11 +0000 Subject: [PATCH 02/12] add test case --- .../test_azure_arm_operationtemplates_async.py | 12 ++++++++++++ .../test_azure_arm_operationtemplates.py | 9 +++++++++ 2 files changed, 21 insertions(+) diff --git a/packages/http-client-python/generator/test/azure/mock_api_tests/asynctests/test_azure_arm_operationtemplates_async.py b/packages/http-client-python/generator/test/azure/mock_api_tests/asynctests/test_azure_arm_operationtemplates_async.py index 21fc5d68738..2c1bc0fc4b6 100644 --- a/packages/http-client-python/generator/test/azure/mock_api_tests/asynctests/test_azure_arm_operationtemplates_async.py +++ b/packages/http-client-python/generator/test/azure/mock_api_tests/asynctests/test_azure_arm_operationtemplates_async.py @@ -176,6 +176,18 @@ async def test_optional_body_provider_post_with_body(client): assert result.status == "Changed to requested allowance" +@pytest.mark.asyncio +async def test_lro_begin_export_array(client): + result = await ( + await client.lro.begin_export_array( + body=models.ExportRequest(format="csv"), + ) + ).result() + assert len(result) == 2 + assert result[0].content == "order1,product1,1" + assert result[1].content == "order2,product2,2" + + @pytest.mark.asyncio async def test_lro_paging_begin_post_paging_lro(client): poller = await client.lro_paging.begin_post_paging_lro( diff --git a/packages/http-client-python/generator/test/azure/mock_api_tests/test_azure_arm_operationtemplates.py b/packages/http-client-python/generator/test/azure/mock_api_tests/test_azure_arm_operationtemplates.py index 9895d78d8cb..c86c95ef4a9 100644 --- a/packages/http-client-python/generator/test/azure/mock_api_tests/test_azure_arm_operationtemplates.py +++ b/packages/http-client-python/generator/test/azure/mock_api_tests/test_azure_arm_operationtemplates.py @@ -156,6 +156,15 @@ def test_optional_body_provider_post_with_body(client): assert result.status == "Changed to requested allowance" +def test_lro_begin_export_array(client): + result = client.lro.begin_export_array( + body=models.ExportRequest(format="csv"), + ).result() + assert len(result) == 2 + assert result[0].content == "order1,product1,1" + assert result[1].content == "order2,product2,2" + + def test_lro_paging_begin_post_paging_lro(client): result = client.lro_paging.begin_post_paging_lro( resource_group_name=RESOURCE_GROUP_NAME, From 6ee9736cdb5a589e1c8fe7025c8dcd2852a6796c Mon Sep 17 00:00:00 2001 From: Yuchao Yan Date: Tue, 3 Feb 2026 09:02:02 +0000 Subject: [PATCH 03/12] add changelog --- ..._manager_multi_service_older_versions_async.py | 7 ++++++- ...source_manager_multi_service_older_versions.py | 7 ++++++- .../asynctests/test_payload_pageable_async.py | 15 ++++++++++----- .../test_payload_pageable.py | 12 ++++++++---- 4 files changed, 30 insertions(+), 11 deletions(-) diff --git a/packages/http-client-python/generator/test/azure/mock_api_tests/asynctests/test_azure_resource_manager_multi_service_older_versions_async.py b/packages/http-client-python/generator/test/azure/mock_api_tests/asynctests/test_azure_resource_manager_multi_service_older_versions_async.py index 348e67cf337..d9f36f938f3 100644 --- a/packages/http-client-python/generator/test/azure/mock_api_tests/asynctests/test_azure_resource_manager_multi_service_older_versions_async.py +++ b/packages/http-client-python/generator/test/azure/mock_api_tests/asynctests/test_azure_resource_manager_multi_service_older_versions_async.py @@ -5,7 +5,12 @@ # -------------------------------------------------------------------------- import pytest from azure.resourcemanager.multiserviceolderversions.combined.aio import CombinedClient -from azure.resourcemanager.multiserviceolderversions.combined.models import VirtualMachine, Disk, VirtualMachineProperties, DiskProperties +from azure.resourcemanager.multiserviceolderversions.combined.models import ( + VirtualMachine, + Disk, + VirtualMachineProperties, + DiskProperties, +) @pytest.fixture diff --git a/packages/http-client-python/generator/test/azure/mock_api_tests/test_azure_resource_manager_multi_service_older_versions.py b/packages/http-client-python/generator/test/azure/mock_api_tests/test_azure_resource_manager_multi_service_older_versions.py index 288ab8076d8..e98b0e07796 100644 --- a/packages/http-client-python/generator/test/azure/mock_api_tests/test_azure_resource_manager_multi_service_older_versions.py +++ b/packages/http-client-python/generator/test/azure/mock_api_tests/test_azure_resource_manager_multi_service_older_versions.py @@ -5,7 +5,12 @@ # -------------------------------------------------------------------------- import pytest from azure.resourcemanager.multiserviceolderversions.combined import CombinedClient -from azure.resourcemanager.multiserviceolderversions.combined.models import VirtualMachine, Disk, VirtualMachineProperties, DiskProperties +from azure.resourcemanager.multiserviceolderversions.combined.models import ( + VirtualMachine, + Disk, + VirtualMachineProperties, + DiskProperties, +) @pytest.fixture diff --git a/packages/http-client-python/generator/test/generic_mock_api_tests/asynctests/test_payload_pageable_async.py b/packages/http-client-python/generator/test/generic_mock_api_tests/asynctests/test_payload_pageable_async.py index 45c5d12de49..c14800bb7d6 100644 --- a/packages/http-client-python/generator/test/generic_mock_api_tests/asynctests/test_payload_pageable_async.py +++ b/packages/http-client-python/generator/test/generic_mock_api_tests/asynctests/test_payload_pageable_async.py @@ -115,8 +115,13 @@ async def test_list_without_continuation(client: PageableClient): assert_result(result) -# after https://github.com/microsoft/typespec/pull/9455 released, we could enable this test again -# @pytest.mark.asyncio -# async def test_xml_pagination_list_with_next_link(client: PageableClient): -# result = [p async for p in client.xml_pagination.list_with_next_link()] -# assert_result(result) +@pytest.mark.asyncio +async def test_xml_pagination_list_with_continuation(client: PageableClient): + result = [p async for p in client.xml_pagination.list_with_continuation()] + assert_result(result) + + +@pytest.mark.asyncio +async def test_xml_pagination_list_with_next_link(client: PageableClient): + result = [p async for p in client.xml_pagination.list_with_next_link()] + assert_result(result) diff --git a/packages/http-client-python/generator/test/generic_mock_api_tests/test_payload_pageable.py b/packages/http-client-python/generator/test/generic_mock_api_tests/test_payload_pageable.py index 1302cb8b957..66cc77022d5 100644 --- a/packages/http-client-python/generator/test/generic_mock_api_tests/test_payload_pageable.py +++ b/packages/http-client-python/generator/test/generic_mock_api_tests/test_payload_pageable.py @@ -83,7 +83,11 @@ def test_list_without_continuation(client: PageableClient): assert_result(result) -# # after https://github.com/microsoft/typespec/pull/9455 released, we could enable this test again -# def test_xml_pagination_list_with_next_link(client: PageableClient): -# result = list(client.xml_pagination.list_with_next_link()) -# assert_result(result) +def test_xml_pagination_list_with_continuation(client: PageableClient): + result = list(client.xml_pagination.list_with_continuation()) + assert_result(result) + + +def test_xml_pagination_list_with_next_link(client: PageableClient): + result = list(client.xml_pagination.list_with_next_link()) + assert_result(result) From 21431e521d593a6710caa7beae29db7e7e3c3dcd Mon Sep 17 00:00:00 2001 From: Yuchao Yan Date: Tue, 3 Feb 2026 09:02:28 +0000 Subject: [PATCH 04/12] add changelog --- .chronus/changes/python-fix-nightly-2026-1-3-9-2-18.md | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 .chronus/changes/python-fix-nightly-2026-1-3-9-2-18.md diff --git a/.chronus/changes/python-fix-nightly-2026-1-3-9-2-18.md b/.chronus/changes/python-fix-nightly-2026-1-3-9-2-18.md new file mode 100644 index 00000000000..6ea9b8d973e --- /dev/null +++ b/.chronus/changes/python-fix-nightly-2026-1-3-9-2-18.md @@ -0,0 +1,7 @@ +--- +changeKind: internal +packages: + - "@typespec/http-client-python" +--- + +Add test case \ No newline at end of file From c305d481a08df1f0bae04cb230cd74674b68f67c Mon Sep 17 00:00:00 2001 From: Yuchao Yan Date: Wed, 4 Feb 2026 04:49:31 +0000 Subject: [PATCH 05/12] update --- packages/http-client-python/package-lock.json | 8 ++++---- packages/http-client-python/package.json | 4 ++-- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/packages/http-client-python/package-lock.json b/packages/http-client-python/package-lock.json index ca1f8c888e7..afe94308218 100644 --- a/packages/http-client-python/package-lock.json +++ b/packages/http-client-python/package-lock.json @@ -29,7 +29,7 @@ "@typespec/compiler": "^1.8.0", "@typespec/events": "~0.78.0", "@typespec/http": "^1.8.0", - "@typespec/http-specs": "0.1.0-alpha.32-dev.4", + "@typespec/http-specs": "0.1.0-alpha.32-dev.5", "@typespec/openapi": "^1.8.0", "@typespec/rest": "~0.78.0", "@typespec/spec-api": "0.1.0-alpha.12", @@ -2318,9 +2318,9 @@ } }, "node_modules/@typespec/http-specs": { - "version": "0.1.0-alpha.32-dev.4", - "resolved": "https://registry.npmjs.org/@typespec/http-specs/-/http-specs-0.1.0-alpha.32-dev.4.tgz", - "integrity": "sha512-lfyGyfP5wu99zKkSsS5I/niuLlHYf1+HoukGF7ZOyTHvwF67kbSLpKvRoaTqGcmkGKgFPFgD4QZVyAjkJAB4wQ==", + "version": "0.1.0-alpha.32-dev.5", + "resolved": "https://registry.npmjs.org/@typespec/http-specs/-/http-specs-0.1.0-alpha.32-dev.5.tgz", + "integrity": "sha512-MD1nWHuste79REtadDyPGTTAZwgGCGD/kB9K8zNX2nTTbAMiWzUTBhpztZtQ+A08G3Snn1ZwSFy4OTyYkHCg6g==", "dev": true, "license": "MIT", "dependencies": { diff --git a/packages/http-client-python/package.json b/packages/http-client-python/package.json index a44dd136ba0..3c1164735a9 100644 --- a/packages/http-client-python/package.json +++ b/packages/http-client-python/package.json @@ -1,6 +1,6 @@ { "name": "@typespec/http-client-python", - "version": "0.26.3", + "version": "0.26.2", "author": "Microsoft Corporation", "description": "TypeSpec emitter for Python SDKs", "homepage": "https://typespec.io", @@ -94,7 +94,7 @@ "@typespec/sse": "~0.78.0", "@typespec/streams": "~0.78.0", "@typespec/xml": "~0.78.0", - "@typespec/http-specs": "0.1.0-alpha.32-dev.4", + "@typespec/http-specs": "0.1.0-alpha.32-dev.5", "@types/js-yaml": "~4.0.5", "@types/node": "~24.1.0", "@types/semver": "7.5.8", From 83dbccd42eb35f6f7ae2c762a604c052e0f479d6 Mon Sep 17 00:00:00 2001 From: Yuchao Yan Date: Wed, 4 Feb 2026 04:59:12 +0000 Subject: [PATCH 06/12] Add XML error value tests for payload XML --- .../asynctests/test_payload_xml_async.py | 9 +++++++++ .../test/generic_mock_api_tests/test_payload_xml.py | 8 ++++++++ 2 files changed, 17 insertions(+) diff --git a/packages/http-client-python/generator/test/generic_mock_api_tests/asynctests/test_payload_xml_async.py b/packages/http-client-python/generator/test/generic_mock_api_tests/asynctests/test_payload_xml_async.py index 07905890cc3..28693b8c286 100644 --- a/packages/http-client-python/generator/test/generic_mock_api_tests/asynctests/test_payload_xml_async.py +++ b/packages/http-client-python/generator/test/generic_mock_api_tests/asynctests/test_payload_xml_async.py @@ -117,3 +117,12 @@ async def test_model_with_encoded_names(client: XmlClient): model = ModelWithEncodedNames(model_data=SimpleModel(name="foo", age=123), colors=["red", "green", "blue"]) assert await client.model_with_encoded_names_value.get() == model await client.model_with_encoded_names_value.put(model) + + +@pytest.mark.asyncio +async def test_xml_error_value(client: XmlClient, core_library): + with pytest.raises(core_library.exceptions.HttpResponseError) as ex: + await client.xml_error_value.get() + assert ex.value.status_code == 400 + assert ex.value.model.message == "Something went wrong" + assert ex.value.model.code == 400 diff --git a/packages/http-client-python/generator/test/generic_mock_api_tests/test_payload_xml.py b/packages/http-client-python/generator/test/generic_mock_api_tests/test_payload_xml.py index 252b6abbd4d..f5e7a2da671 100644 --- a/packages/http-client-python/generator/test/generic_mock_api_tests/test_payload_xml.py +++ b/packages/http-client-python/generator/test/generic_mock_api_tests/test_payload_xml.py @@ -105,3 +105,11 @@ def test_model_with_encoded_names(client: XmlClient): model = ModelWithEncodedNames(model_data=SimpleModel(name="foo", age=123), colors=["red", "green", "blue"]) assert client.model_with_encoded_names_value.get() == model client.model_with_encoded_names_value.put(model) + + +def test_xml_error_value(client: XmlClient, core_library): + with pytest.raises(core_library.exceptions.HttpResponseError) as ex: + client.xml_error_value.get() + assert ex.value.status_code == 400 + assert ex.value.model.message == "Something went wrong" + assert ex.value.model.code == 400 From 6075c874e862e798d2d77e3f5550fc5d9b0f4054 Mon Sep 17 00:00:00 2001 From: Yuchao Yan Date: Wed, 4 Feb 2026 06:51:52 +0000 Subject: [PATCH 07/12] fix import for xml paging --- .../generator/pygen/codegen/models/paging_operation.py | 3 ++- .../generator/pygen/codegen/serializers/builder_serializer.py | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/packages/http-client-python/generator/pygen/codegen/models/paging_operation.py b/packages/http-client-python/generator/pygen/codegen/models/paging_operation.py index bba3a904f1c..a64b87f4f7d 100644 --- a/packages/http-client-python/generator/pygen/codegen/models/paging_operation.py +++ b/packages/http-client-python/generator/pygen/codegen/models/paging_operation.py @@ -182,7 +182,8 @@ def imports(self, async_mode: bool, **kwargs: Any) -> FileImport: ) file_import.merge(self.item_type.imports(**kwargs)) if self.default_error_deserialization(serialize_namespace) or self.need_deserialize: - file_import.add_submodule_import(relative_path, "_deserialize", ImportType.LOCAL) + deserialize_func = "_deserialize_xml" if self.is_xml_paging else "_deserialize" + file_import.add_submodule_import(relative_path, deserialize_func, ImportType.LOCAL) if self.is_xml_paging: file_import.add_submodule_import("xml.etree", "ElementTree", ImportType.STDLIB, alias="ET") file_import.add_submodule_import(relative_path, "_convert_element", ImportType.LOCAL) diff --git a/packages/http-client-python/generator/pygen/codegen/serializers/builder_serializer.py b/packages/http-client-python/generator/pygen/codegen/serializers/builder_serializer.py index 46611d152ac..db122c41ab2 100644 --- a/packages/http-client-python/generator/pygen/codegen/serializers/builder_serializer.py +++ b/packages/http-client-python/generator/pygen/codegen/serializers/builder_serializer.py @@ -1423,7 +1423,8 @@ def _extract_data_callback( # pylint: disable=too-many-statements,too-many-bran item_type = builder.item_type.type_annotation( is_operation_file=True, serialize_namespace=self.serialize_namespace ) - list_of_elem_deserialized = f"_deserialize({item_type}, deserialized{access})" + deserialize_func = "_deserialize_xml" if builder.is_xml_paging else "_deserialize" + list_of_elem_deserialized = f"{deserialize_func}({item_type}, deserialized{access})" else: list_of_elem_deserialized = f"deserialized{access}" retval.append(f" list_of_elem = {list_of_elem_deserialized}") From 2aeb52c5346fccca74719a88d4aa4d898088fad5 Mon Sep 17 00:00:00 2001 From: Yuchao Yan Date: Wed, 4 Feb 2026 06:52:20 +0000 Subject: [PATCH 08/12] add changelog --- .chronus/changes/python-fix-nightly-2026-1-4-6-52-8.md | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 .chronus/changes/python-fix-nightly-2026-1-4-6-52-8.md diff --git a/.chronus/changes/python-fix-nightly-2026-1-4-6-52-8.md b/.chronus/changes/python-fix-nightly-2026-1-4-6-52-8.md new file mode 100644 index 00000000000..64bf9ba2bfe --- /dev/null +++ b/.chronus/changes/python-fix-nightly-2026-1-4-6-52-8.md @@ -0,0 +1,7 @@ +--- +changeKind: fix +packages: + - "@typespec/http-client-python" +--- + +Fix import for xml paging \ No newline at end of file From 1a5c080a2d04d85d1dcb7c690f15babab022ece3 Mon Sep 17 00:00:00 2001 From: Yuchao Yan Date: Wed, 4 Feb 2026 06:54:47 +0000 Subject: [PATCH 09/12] fix import for xml paging --- .../generator/pygen/codegen/models/paging_operation.py | 1 - 1 file changed, 1 deletion(-) diff --git a/packages/http-client-python/generator/pygen/codegen/models/paging_operation.py b/packages/http-client-python/generator/pygen/codegen/models/paging_operation.py index a64b87f4f7d..1d39e5e71b6 100644 --- a/packages/http-client-python/generator/pygen/codegen/models/paging_operation.py +++ b/packages/http-client-python/generator/pygen/codegen/models/paging_operation.py @@ -186,7 +186,6 @@ def imports(self, async_mode: bool, **kwargs: Any) -> FileImport: file_import.add_submodule_import(relative_path, deserialize_func, ImportType.LOCAL) if self.is_xml_paging: file_import.add_submodule_import("xml.etree", "ElementTree", ImportType.STDLIB, alias="ET") - file_import.add_submodule_import(relative_path, "_convert_element", ImportType.LOCAL) return file_import From c1cd7778d4bd6ad064fbd24c54eeae218c04c17e Mon Sep 17 00:00:00 2001 From: Yuchao Yan Date: Wed, 4 Feb 2026 08:11:53 +0000 Subject: [PATCH 10/12] Fix paging operation serialization for continuation token --- .../generator/pygen/codegen/models/operation.py | 6 +++++- .../generator/pygen/codegen/models/paging_operation.py | 8 ++++++-- .../pygen/codegen/serializers/builder_serializer.py | 3 +-- 3 files changed, 12 insertions(+), 5 deletions(-) diff --git a/packages/http-client-python/generator/pygen/codegen/models/operation.py b/packages/http-client-python/generator/pygen/codegen/models/operation.py index f5fb1c6241d..9036dac6eb1 100644 --- a/packages/http-client-python/generator/pygen/codegen/models/operation.py +++ b/packages/http-client-python/generator/pygen/codegen/models/operation.py @@ -284,6 +284,10 @@ def get_request_builder_import( def need_deserialize(self) -> bool: return any(r.type and not isinstance(r.type, BinaryIteratorType) for r in self.responses) + @property + def enable_import_deserialize_xml(self) -> bool: + return any(xml_serializable(str(r.default_content_type)) for r in self.responses + self.exceptions) + def imports( # pylint: disable=too-many-branches, disable=too-many-statements self, async_mode: bool, **kwargs: Any ) -> FileImport: @@ -443,7 +447,7 @@ def imports( # pylint: disable=too-many-branches, disable=too-many-statements ImportType.LOCAL, ) file_import.add_import("json", ImportType.STDLIB) - if any(xml_serializable(str(r.default_content_type)) for r in self.responses + self.exceptions): + if self.enable_import_deserialize_xml: file_import.add_submodule_import(relative_path, "_deserialize_xml", ImportType.LOCAL) elif self.need_deserialize: file_import.add_submodule_import(relative_path, "_deserialize", ImportType.LOCAL) diff --git a/packages/http-client-python/generator/pygen/codegen/models/paging_operation.py b/packages/http-client-python/generator/pygen/codegen/models/paging_operation.py index 1d39e5e71b6..6246062e69c 100644 --- a/packages/http-client-python/generator/pygen/codegen/models/paging_operation.py +++ b/packages/http-client-python/generator/pygen/codegen/models/paging_operation.py @@ -17,6 +17,7 @@ from .model_type import ModelType from .list_type import ListType from .parameter import Parameter +from ...utils import xml_serializable if TYPE_CHECKING: from .code_model import CodeModel @@ -135,6 +136,10 @@ def cls_type_annotation(self, *, async_mode: bool, **kwargs: Any) -> str: def has_optional_return_type(self) -> bool: return False + @property + def enable_import_deserialize_xml(self): + return any(xml_serializable(str(r.default_content_type)) for r in self.exceptions) + def imports(self, async_mode: bool, **kwargs: Any) -> FileImport: if self.abstract: return FileImport(self.code_model) @@ -182,8 +187,7 @@ def imports(self, async_mode: bool, **kwargs: Any) -> FileImport: ) file_import.merge(self.item_type.imports(**kwargs)) if self.default_error_deserialization(serialize_namespace) or self.need_deserialize: - deserialize_func = "_deserialize_xml" if self.is_xml_paging else "_deserialize" - file_import.add_submodule_import(relative_path, deserialize_func, ImportType.LOCAL) + file_import.add_submodule_import(relative_path, "_deserialize", ImportType.LOCAL) if self.is_xml_paging: file_import.add_submodule_import("xml.etree", "ElementTree", ImportType.STDLIB, alias="ET") return file_import diff --git a/packages/http-client-python/generator/pygen/codegen/serializers/builder_serializer.py b/packages/http-client-python/generator/pygen/codegen/serializers/builder_serializer.py index db122c41ab2..46611d152ac 100644 --- a/packages/http-client-python/generator/pygen/codegen/serializers/builder_serializer.py +++ b/packages/http-client-python/generator/pygen/codegen/serializers/builder_serializer.py @@ -1423,8 +1423,7 @@ def _extract_data_callback( # pylint: disable=too-many-statements,too-many-bran item_type = builder.item_type.type_annotation( is_operation_file=True, serialize_namespace=self.serialize_namespace ) - deserialize_func = "_deserialize_xml" if builder.is_xml_paging else "_deserialize" - list_of_elem_deserialized = f"{deserialize_func}({item_type}, deserialized{access})" + list_of_elem_deserialized = f"_deserialize({item_type}, deserialized{access})" else: list_of_elem_deserialized = f"deserialized{access}" retval.append(f" list_of_elem = {list_of_elem_deserialized}") From 6c242c08bde1ccf017e86fedb55cf2fe9acb7beb Mon Sep 17 00:00:00 2001 From: Yuchao Yan Date: Wed, 4 Feb 2026 08:31:23 +0000 Subject: [PATCH 11/12] Bump http-client-python version to 0.26.3 --- packages/http-client-python/package-lock.json | 4 ++-- packages/http-client-python/package.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/http-client-python/package-lock.json b/packages/http-client-python/package-lock.json index afe94308218..e917fe94eca 100644 --- a/packages/http-client-python/package-lock.json +++ b/packages/http-client-python/package-lock.json @@ -1,12 +1,12 @@ { "name": "@typespec/http-client-python", - "version": "0.26.2", + "version": "0.26.3", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@typespec/http-client-python", - "version": "0.26.2", + "version": "0.26.3", "hasInstallScript": true, "license": "MIT", "dependencies": { diff --git a/packages/http-client-python/package.json b/packages/http-client-python/package.json index 3c1164735a9..6de888a47ba 100644 --- a/packages/http-client-python/package.json +++ b/packages/http-client-python/package.json @@ -1,6 +1,6 @@ { "name": "@typespec/http-client-python", - "version": "0.26.2", + "version": "0.26.3", "author": "Microsoft Corporation", "description": "TypeSpec emitter for Python SDKs", "homepage": "https://typespec.io", From 78c9bb85ee0d3d8ccc0dfb4c2f64209dc59ee8e0 Mon Sep 17 00:00:00 2001 From: Yuchao Yan Date: Thu, 5 Feb 2026 13:21:02 +0000 Subject: [PATCH 12/12] update --- .../alpha/Microsoft.BlobStorage/client.tsp | 201 -- .../examples/2025-11-05/placeholder.md | 0 .../examples/2026-02-06/placeholder.md | 0 .../examples/2026-04-06/placeholder.md | 0 .../alpha/Microsoft.BlobStorage/main.tsp | 44 - .../alpha/Microsoft.BlobStorage/models.tsp | 2789 ----------------- .../alpha/Microsoft.BlobStorage/routes.tsp | 2296 -------------- .../Microsoft.BlobStorage/suppressions.yaml | 18 - .../Microsoft.BlobStorage/tspconfig.yaml | 53 - packages/http-client-python/alpha/client.tsp | 109 - packages/http-client-python/alpha/log.txt | 202 -- packages/http-client-python/alpha/main.tsp | 62 - packages/http-client-python/alpha/output.yaml | 1537 --------- .../http-client-python/alpha/service1.tsp | 109 - .../http-client-python/alpha/service2.tsp | 112 - .../http-client-python/alpha/tspconfig.yaml | 20 - 16 files changed, 7552 deletions(-) delete mode 100644 packages/http-client-python/alpha/Microsoft.BlobStorage/client.tsp delete mode 100644 packages/http-client-python/alpha/Microsoft.BlobStorage/examples/2025-11-05/placeholder.md delete mode 100644 packages/http-client-python/alpha/Microsoft.BlobStorage/examples/2026-02-06/placeholder.md delete mode 100644 packages/http-client-python/alpha/Microsoft.BlobStorage/examples/2026-04-06/placeholder.md delete mode 100644 packages/http-client-python/alpha/Microsoft.BlobStorage/main.tsp delete mode 100644 packages/http-client-python/alpha/Microsoft.BlobStorage/models.tsp delete mode 100644 packages/http-client-python/alpha/Microsoft.BlobStorage/routes.tsp delete mode 100644 packages/http-client-python/alpha/Microsoft.BlobStorage/suppressions.yaml delete mode 100644 packages/http-client-python/alpha/Microsoft.BlobStorage/tspconfig.yaml delete mode 100644 packages/http-client-python/alpha/client.tsp delete mode 100644 packages/http-client-python/alpha/log.txt delete mode 100644 packages/http-client-python/alpha/main.tsp delete mode 100644 packages/http-client-python/alpha/output.yaml delete mode 100644 packages/http-client-python/alpha/service1.tsp delete mode 100644 packages/http-client-python/alpha/service2.tsp delete mode 100644 packages/http-client-python/alpha/tspconfig.yaml diff --git a/packages/http-client-python/alpha/Microsoft.BlobStorage/client.tsp b/packages/http-client-python/alpha/Microsoft.BlobStorage/client.tsp deleted file mode 100644 index cf11dfca06d..00000000000 --- a/packages/http-client-python/alpha/Microsoft.BlobStorage/client.tsp +++ /dev/null @@ -1,201 +0,0 @@ -import "@azure-tools/typespec-client-generator-core"; -import "./main.tsp"; - -using TypeSpec.Http; -using Azure.ClientGenerator.Core; -using Storage.Blob; - -namespace Customizations; - -@@clientNamespace(Storage.Blob, "Azure.Storage.Blobs"); -@@clientNamespace(Storage.Blob.Container, "Azure.Storage.Blobs"); -@@clientNamespace(Storage.Blob.Blob, "Azure.Storage.Blobs"); -@@clientNamespace(Storage.Blob.AppendBlob, "Azure.Storage.Blobs"); -@@clientNamespace(Storage.Blob.BlockBlob, "Azure.Storage.Blobs"); -@@clientNamespace(Storage.Blob.PageBlob, "Azure.Storage.Blobs"); - -@@clientName(Storage.Blob.Service, "BlobServiceClient", "rust"); -@@clientName(Storage.Blob.Container, "BlobContainerClient", "rust"); -@@clientName(Storage.Blob.Blob, "BlobClient", "rust"); -@@clientName(Storage.Blob.AppendBlob, "AppendBlobClient", "rust"); -@@clientName(Storage.Blob.BlockBlob, "BlockBlobClient", "rust"); -@@clientName(Storage.Blob.PageBlob, "PageBlobClient", "rust"); - -@@clientName(ContainerProperties.denyEncryptionScopeOverride, - "PreventEncryptionScopeOverride" -); -@@clientName(ContainerProperties.immutableStorageWithVersioningEnabled, - "IsImmutableStorageWithVersioningEnabled" -); -@@clientName(BlobPropertiesInternal.expiryTime, "ExpiresOn"); -@@clientName(BlobPropertiesInternal.sealed, "IsSealed"); -@@clientName(BlobPropertiesInternal.lastAccessTime, "LastAccessedOn"); -@@clientName(BlobPropertiesInternal.immutabilityPolicyUntilDate, - "ImmutabilityPolicyExpiresOn" -); -@@clientName(MetadataHeaders.metadata, "metadata", "rust"); -@@clientName(ObjectReplicationHeaders.objectReplicationRules, - "objectReplicationRules", - "rust" -); -@@clientName(ImmutabilityPolicyExpiryRequiredParameter.immutabilityPolicyExpiry, - "expiry" -); - -@@alternateType(AccessPolicy.start, string, "javascript"); -@@alternateType(AccessPolicy.expiry, string, "javascript"); -@@clientName(AccessPolicy.start, "startsOn", "javascript"); -@@clientName(AccessPolicy.expiry, "expiresOn", "javascript"); -@@clientName(AccessPolicy.permission, "permissions", "javascript"); -@@clientName(BlobPropertiesInternal.accessTierChangeTime, - "accessTierChangedOn", - "javascript" -); -@@clientName(BlobPropertiesInternal.creationTime, "createdOn", "javascript"); -@@clientName(BlobPropertiesInternal.copyCompletionTime, - "copyCompletedOn", - "javascript" -); -@@clientName(BlobPropertiesInternal.deletedTime, "deletedOn", "javascript"); -@@clientName(BlobPropertiesInternal.eTag, "etag", "javascript"); -@@clientName(ContainerProperties.deletedTime, "deletedOn", "javascript"); -@@clientName(ContainerProperties.eTag, "etag", "javascript"); -@@clientName(EtagResponseHeader.eTag, "etag", "javascript"); -@@clientName(GeoReplication.lastSyncTime, "lastSyncOn", "javascript"); -@@clientName(KeyInfo.start, "startsOn", "javascript"); -@@clientName(KeyInfo.expiry, "expiresOn", "javascript"); -@@clientName(BlobServiceProperties.logging, - "blobAnalyticsLogging", - "javascript" -); -@@clientName(Logging.delete, "deleteProperty", "javascript"); -@@clientName(UserDelegationKey.signedOid, "signedObjectId", "javascript"); -@@clientName(UserDelegationKey.signedTid, "signedTenantId", "javascript"); -@@clientName(UserDelegationKey.signedStart, "signedStartsOn", "javascript"); -@@clientName(UserDelegationKey.signedExpiry, "signedExpiresOn", "javascript"); - -@@alternateType(BlobPropertiesInternal.contentLength, uint64, "rust"); -@@alternateType(BlobContentLengthRequired.size, uint64, "rust"); -@@alternateType(ContentLengthResponseHeader.contentLength, uint64, "rust"); -@@alternateType(ContentLengthParameter.contentLength, uint64, "rust"); -@@alternateType(StructuredContentLengthParameter.structuredContentLength, - uint64, - "rust" -); -@@alternateType(StructuredContentLengthResponseHeader.structuredContentLength, - uint64, - "rust" -); - -@@scope(Storage.Blob.Container.submitBatch, "!rust"); -@@scope(Storage.Blob.Service.submitBatch, "!rust"); - -@@clientName(BlobPropertiesInternal, "BlobProperties", "go"); -@@clientName(BlobItemInternal, "BlobItem", "go"); -@@clientName(UserDelegationKey.signedOid, "SignedOID", "go"); -@@clientName(UserDelegationKey.signedTid, "SignedTID", "go"); -@@alternateType(AccessPolicy.start, utcDateTime, "go"); -@@alternateType(AccessPolicy.expiry, utcDateTime, "go"); -@@alternateType(BlobItemInternal.name, string, "go"); -@@alternateType(BlobPrefix.name, string, "go"); - -@@alternateType(AccessPolicy.start, string, "python"); -@@alternateType(AccessPolicy.expiry, string, "python"); - -@@clientName(QueryType, "QueryFormatType", "python"); -@@clientName(Storage.Blob.BlockBlob.uploadBlobFromUrl, - "putBlobFromUrl", - "python" -); -@@clientName(BlobServiceProperties, "StorageServiceProperties", "python"); -@@clientName(Storage.Blob.Blob.setProperties, "setHttpHeaders", "python"); -@@clientName(Storage.Blob.PageBlob.setSequenceNumber, - "updateSequenceNumber", - "python" -); -@@clientName(Storage.Blob.Service.findBlobsByTags, "filterBlobs", "python"); -@@clientName(Storage.Blob.Container.findBlobsByTags, "filterBlobs", "python"); - -@@alternateType(BlockIdParameter.blockid, string, "python"); - -@@Legacy.disablePageable(Storage.Blob.Container.listBlobFlatSegment, - "python,javascript" -); -@@Legacy.disablePageable(Storage.Blob.Container.listBlobHierarchySegment, - "python,javascript" -); -@@Legacy.disablePageable(Storage.Blob.Service.listContainersSegment, - "python,javascript" -); - - -/** Parameter group for lease access conditions */ -model LeaseAccessConditions { - /** If specified, the operation only succeeds if the resource's lease is active and matches this ID. */ - leaseId?: string; -} - -/** Parameter group for modified access conditions */ -model ModifiedAccessConditions { - /** Specify this header value to operate only on a blob if it has been modified since the specified date/time. */ - ifModifiedSince?: utcDateTime; - - /** Specify this header value to operate only on a blob if it has not been modified since the specified date/time. */ - ifUnmodifiedSince?: utcDateTime; - - /** Specify an ETag value to operate only on blobs with a matching value. */ - ifMatch?: string; - - /** Specify an ETag value to operate only on blobs without a matching value. */ - ifNoneMatch?: string; - - /** Specify a SQL where clause on blob tags to operate only on blobs with a matching value. */ - ifTags?: string; -} - -/** Parameter group for customer-provided encryption key information */ -model CpkInfo { - /** The encryption key. */ - encryptionKey?: string; - - /** The SHA-256 hash of the encryption key. */ - encryptionKeySha256?: string; - - /** The algorithm used to produce the encryption key hash. */ - encryptionAlgorithm?: EncryptionAlgorithmType; -} - -/** Custom download operation with grouped parameters for Python SDK */ -op downloadCustom( - - /** Specifies the version of the operation to use for this request. */ - @apiVersion - @access(Access.internal) - @header("x-ms-version") - version: string, - - ...SnapshotParameter, - - ...VersionIdParameter, - ...TimeoutParameter, - ...RangeParameter, - - /** When set to true and specified together with the Range, the service returns the MD5 hash for the range, as long as the range is less than or equal to 4 MB in size. */ - @header("x-ms-range-get-content-md5") - rangeGetContentMd5?: boolean, - - /** Optional. When this header is set to true and specified together with the Range header, the service returns the CRC64 hash for the range, as long as the range is less than or equal to 4 MB in size. */ - @header("x-ms-range-get-content-crc64") - rangeGetContentCrc64?: boolean, - - /** Specifies the response content should be returned as a structured message and specifies the message schema version and properties. */ - @access(Access.internal) - @header("x-ms-structured-body") - structuredBodyType?: string, - - cpkInfo?: CpkInfo, - modifiedAccessConditions?: ModifiedAccessConditions, - leaseAccessConditions?: LeaseAccessConditions, -): void; - -@@override(Storage.Blob.Blob.download, downloadCustom, "python"); \ No newline at end of file diff --git a/packages/http-client-python/alpha/Microsoft.BlobStorage/examples/2025-11-05/placeholder.md b/packages/http-client-python/alpha/Microsoft.BlobStorage/examples/2025-11-05/placeholder.md deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/packages/http-client-python/alpha/Microsoft.BlobStorage/examples/2026-02-06/placeholder.md b/packages/http-client-python/alpha/Microsoft.BlobStorage/examples/2026-02-06/placeholder.md deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/packages/http-client-python/alpha/Microsoft.BlobStorage/examples/2026-04-06/placeholder.md b/packages/http-client-python/alpha/Microsoft.BlobStorage/examples/2026-04-06/placeholder.md deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/packages/http-client-python/alpha/Microsoft.BlobStorage/main.tsp b/packages/http-client-python/alpha/Microsoft.BlobStorage/main.tsp deleted file mode 100644 index 0b25e6ed517..00000000000 --- a/packages/http-client-python/alpha/Microsoft.BlobStorage/main.tsp +++ /dev/null @@ -1,44 +0,0 @@ -import "@typespec/rest"; -import "@typespec/versioning"; -import "@azure-tools/typespec-azure-core"; -import "./routes.tsp"; - -using TypeSpec.Http; -using TypeSpec.Rest; -using TypeSpec.Versioning; -using Azure.Core; - -@useAuth( - OAuth2Auth<[ - { - type: OAuth2FlowType.implicit, - authorizationUrl: "https://login.microsoftonline.com/common/oauth2/authorize", - scopes: ["https://storage.azure.com/.default"], - } - ]> -) -@service(#{ title: "Azure Storage Blob service" }) -@server( - "{url}", - "The host name of the blob storage account, e.g. accountName.blob.core.windows.net", - { - @doc("The host name of the blob storage account, e.g. accountName.blob.core.windows.net") - url: url, - } -) -@versioned(Versions) -namespace Storage.Blob; - -#suppress "@azure-tools/typespec-azure-core/no-closed-literal-union" "Following standard typespec recommendation" -#suppress "@azure-tools/typespec-azure-core/no-enum" "Following standard typespec recommendation" -@doc("The Azure.Storage.Blob service versions.") -enum Versions { - @doc("The 2025-11-05 version of the Azure.Storage.Blob service.") - v2025_11_05: "2025-11-05", - - @doc("The 2026-02-06 version of the Azure.Storage.Blob service.") - v2026_02_06: "2026-02-06", - - @doc("The 2026-04-06 version of the Azure.Storage.Blob service.") - v2026_04_06: "2026-04-06", -} diff --git a/packages/http-client-python/alpha/Microsoft.BlobStorage/models.tsp b/packages/http-client-python/alpha/Microsoft.BlobStorage/models.tsp deleted file mode 100644 index ba79c054b2f..00000000000 --- a/packages/http-client-python/alpha/Microsoft.BlobStorage/models.tsp +++ /dev/null @@ -1,2789 +0,0 @@ -import "@typespec/rest"; -import "@typespec/http"; -import "@typespec/xml"; -import "@azure-tools/typespec-azure-core"; -import "@azure-tools/typespec-client-generator-core"; - -using Azure.Core; -using TypeSpec.Http; -using TypeSpec.Versioning; -using Azure.ClientGenerator.Core; - -namespace Storage.Blob; - -@encode(BytesKnownEncoding.base64) -scalar base64Bytes extends bytes; - -/** The error response. */ -@error -@mediaTypeHint("application/xml") -model StorageError { - /** The error code. */ - @header("x-ms-error-code") - errorCode?: StorageErrorCode; - - /** The error code for the copy source. */ - @header("x-ms-copy-source-error-code") - xMsCopySourceErrorCode?: string; - - /** The status code for the copy source. */ - @header("x-ms-copy-source-status-code") - xMsCopySourceStatusCode?: int32; - - /** The error code. */ - @Xml.name("Code") code?: string; - - /** The error message. */ - @Xml.name("Message") message?: string; - - /** Copy source status code */ - @Xml.name("CopySourceStatusCode") copySourceStatusCode?: int32; - - /** Copy source error code */ - @Xml.name("CopySourceErrorCode") copySourceErrorCode?: string; - - /** Copy source error message */ - @Xml.name("CopySourceErrorMessage") copySourceErrorMessage?: string; -} - -/** Error codes returned by the Azure Blob Storage service. */ -#suppress "@azure-tools/typespec-azure-core/no-enum" "Existing API" -union StorageErrorCode { - /** Account already exists. */ - AccountAlreadyExists: "AccountAlreadyExists", - - /** Account is being created. */ - AccountBeingCreated: "AccountBeingCreated", - - /** Account is disabled. */ - AccountIsDisabled: "AccountIsDisabled", - - /** Authentication failed. */ - AuthenticationFailed: "AuthenticationFailed", - - /** Authorization failure. */ - AuthorizationFailure: "AuthorizationFailure", - - /** Condition headers not supported. */ - ConditionHeadersNotSupported: "ConditionHeadersNotSupported", - - /** Condition not met. */ - ConditionNotMet: "ConditionNotMet", - - /** Empty metadata key. */ - EmptyMetadataKey: "EmptyMetadataKey", - - /** Insufficient account permissions. */ - InsufficientAccountPermissions: "InsufficientAccountPermissions", - - /** Internal error. */ - InternalError: "InternalError", - - /** Invalid authentication information. */ - InvalidAuthenticationInfo: "InvalidAuthenticationInfo", - - /** Invalid header value. */ - InvalidHeaderValue: "InvalidHeaderValue", - - /** Invalid HTTP verb. */ - InvalidHttpVerb: "InvalidHttpVerb", - - /** Invalid input. */ - InvalidInput: "InvalidInput", - - /** Invalid MD5. */ - InvalidMd5: "InvalidMd5", - - /** Invalid metadata. */ - InvalidMetadata: "InvalidMetadata", - - /** Invalid query parameter value. */ - InvalidQueryParameterValue: "InvalidQueryParameterValue", - - /** Invalid range. */ - InvalidRange: "InvalidRange", - - /** Invalid request URL. */ - InvalidRequestUrl: "InvalidRequestUrl", - - /** Invalid URI. */ - InvalidUri: "InvalidUri", - - /** Invalid XML document. */ - InvalidXmlDocument: "InvalidXmlDocument", - - /** Invalid XML node value. */ - InvalidXmlNodeValue: "InvalidXmlNodeValue", - - /** MD5 mismatch. */ - Md5Mismatch: "Md5Mismatch", - - /** Metadata too large. */ - MetadataTooLarge: "MetadataTooLarge", - - /** Missing content length header. */ - MissingContentLengthHeader: "MissingContentLengthHeader", - - /** Missing required XML node. */ - MissingRequiredXmlNode: "MissingRequiredXmlNode", - - /** Missing required header. */ - MissingRequiredHeader: "MissingRequiredHeader", - - /** Missing required query parameter. */ - MissingRequiredQueryParameter: "MissingRequiredQueryParameter", - - /** Multiple condition headers not supported. */ - MultipleConditionHeadersNotSupported: "MultipleConditionHeadersNotSupported", - - /** Operation timed out. */ - OperationTimedOut: "OperationTimedOut", - - /** Out of range input. */ - OutOfRangeInput: "OutOfRangeInput", - - /** Out of range query parameter value. */ - OutOfRangeQueryParameterValue: "OutOfRangeQueryParameterValue", - - /** Request body too large. */ - RequestBodyTooLarge: "RequestBodyTooLarge", - - /** Resource type mismatch. */ - ResourceTypeMismatch: "ResourceTypeMismatch", - - /** Request URL failed to parse. */ - RequestUrlFailedToParse: "RequestUrlFailedToParse", - - /** Resource already exists. */ - ResourceAlreadyExists: "ResourceAlreadyExists", - - /** Resource not found. */ - ResourceNotFound: "ResourceNotFound", - - /** Server busy. */ - ServerBusy: "ServerBusy", - - /** Unsupported header. */ - UnsupportedHeader: "UnsupportedHeader", - - /** Unsupported XML node. */ - UnsupportedXmlNode: "UnsupportedXmlNode", - - /** Unsupported query parameter. */ - UnsupportedQueryParameter: "UnsupportedQueryParameter", - - /** Unsupported HTTP verb. */ - UnsupportedHttpVerb: "UnsupportedHttpVerb", - - /** Append position condition not met. */ - AppendPositionConditionNotMet: "AppendPositionConditionNotMet", - - /** Blob already exists. */ - BlobAlreadyExists: "BlobAlreadyExists", - - /** Blob is immutable due to policy. */ - BlobImmutableDueToPolicy: "BlobImmutableDueToPolicy", - - /** Blob not found. */ - BlobNotFound: "BlobNotFound", - - /** Blob overwritten. */ - BlobOverwritten: "BlobOverwritten", - - /** Blob tier inadequate for content length. */ - BlobTierInadequateForContentLength: "BlobTierInadequateForContentLength", - - /** Blob uses customer specified encryption. */ - BlobUsesCustomerSpecifiedEncryption: "BlobUsesCustomerSpecifiedEncryption", - - /** Block count exceeds limit. */ - BlockCountExceedsLimit: "BlockCountExceedsLimit", - - /** Block list too long. */ - BlockListTooLong: "BlockListTooLong", - - /** Cannot change to lower tier. */ - CannotChangeToLowerTier: "CannotChangeToLowerTier", - - /** Cannot verify copy source. */ - CannotVerifyCopySource: "CannotVerifyCopySource", - - /** Container already exists. */ - ContainerAlreadyExists: "ContainerAlreadyExists", - - /** Container being deleted. */ - ContainerBeingDeleted: "ContainerBeingDeleted", - - /** Container disabled. */ - ContainerDisabled: "ContainerDisabled", - - /** Container not found. */ - ContainerNotFound: "ContainerNotFound", - - /** Content length larger than tier limit. */ - ContentLengthLargerThanTierLimit: "ContentLengthLargerThanTierLimit", - - /** Copy across accounts not supported. */ - CopyAcrossAccountsNotSupported: "CopyAcrossAccountsNotSupported", - - /** Copy ID mismatch. */ - CopyIdMismatch: "CopyIdMismatch", - - /** Feature version mismatch. */ - FeatureVersionMismatch: "FeatureVersionMismatch", - - /** Incremental copy blob mismatch. */ - IncrementalCopyBlobMismatch: "IncrementalCopyBlobMismatch", - - /** Incremental copy of earlier version snapshot not allowed. */ - IncrementalCopyOfEarlierVersionSnapshotNotAllowed: "IncrementalCopyOfEarlierVersionSnapshotNotAllowed", - - /** Incremental copy source must be snapshot. */ - IncrementalCopySourceMustBeSnapshot: "IncrementalCopySourceMustBeSnapshot", - - /** Infinite lease duration required. */ - InfiniteLeaseDurationRequired: "InfiniteLeaseDurationRequired", - - /** Invalid blob or block. */ - InvalidBlobOrBlock: "InvalidBlobOrBlock", - - /** Invalid blob tier. */ - InvalidBlobTier: "InvalidBlobTier", - - /** Invalid blob type. */ - InvalidBlobType: "InvalidBlobType", - - /** Invalid block ID. */ - InvalidBlockId: "InvalidBlockId", - - /** Invalid block list. */ - InvalidBlockList: "InvalidBlockList", - - /** Invalid operation. */ - InvalidOperation: "InvalidOperation", - - /** Invalid page range. */ - InvalidPageRange: "InvalidPageRange", - - /** Invalid source blob type. */ - InvalidSourceBlobType: "InvalidSourceBlobType", - - /** Invalid source blob URL. */ - InvalidSourceBlobUrl: "InvalidSourceBlobUrl", - - /** Invalid version for page blob operation. */ - InvalidVersionForPageBlobOperation: "InvalidVersionForPageBlobOperation", - - /** Lease already present. */ - LeaseAlreadyPresent: "LeaseAlreadyPresent", - - /** Lease already broken. */ - LeaseAlreadyBroken: "LeaseAlreadyBroken", - - /** Lease ID mismatch with blob operation. */ - LeaseIdMismatchWithBlobOperation: "LeaseIdMismatchWithBlobOperation", - - /** Lease ID mismatch with container operation. */ - LeaseIdMismatchWithContainerOperation: "LeaseIdMismatchWithContainerOperation", - - /** Lease ID mismatch with lease operation. */ - LeaseIdMismatchWithLeaseOperation: "LeaseIdMismatchWithLeaseOperation", - - /** Lease ID missing. */ - LeaseIdMissing: "LeaseIdMissing", - - /** Lease is breaking and cannot be acquired. */ - LeaseIsBreakingAndCannotBeAcquired: "LeaseIsBreakingAndCannotBeAcquired", - - /** Lease is breaking and cannot be changed. */ - LeaseIsBreakingAndCannotBeChanged: "LeaseIsBreakingAndCannotBeChanged", - - /** Lease is broken and cannot be renewed. */ - LeaseIsBrokenAndCannotBeRenewed: "LeaseIsBrokenAndCannotBeRenewed", - - /** Lease lost. */ - LeaseLost: "LeaseLost", - - /** Lease not present with blob operation. */ - LeaseNotPresentWithBlobOperation: "LeaseNotPresentWithBlobOperation", - - /** Lease not present with container operation. */ - LeaseNotPresentWithContainerOperation: "LeaseNotPresentWithContainerOperation", - - /** Lease not present with lease operation. */ - LeaseNotPresentWithLeaseOperation: "LeaseNotPresentWithLeaseOperation", - - /** Maximum blob size condition not met. */ - MaxBlobSizeConditionNotMet: "MaxBlobSizeConditionNotMet", - - /** No pending copy operation. */ - NoPendingCopyOperation: "NoPendingCopyOperation", - - /** Operation not allowed on incremental copy blob. */ - OperationNotAllowedOnIncrementalCopyBlob: "OperationNotAllowedOnIncrementalCopyBlob", - - /** Pending copy operation. */ - PendingCopyOperation: "PendingCopyOperation", - - /** Previous snapshot not found. */ - PreviousSnapshotNotFound: "PreviousSnapshotNotFound", - - /** Previous snapshot operation not supported. */ - PreviousSnapshotOperationNotSupported: "PreviousSnapshotOperationNotSupported", - - /** Previous snapshot cannot be newer. */ - PreviousSnapshotCannotBeNewer: "PreviousSnapshotCannotBeNewer", - - /** Sequence number condition not met. */ - SequenceNumberConditionNotMet: "SequenceNumberConditionNotMet", - - /** Sequence number increment too large. */ - SequenceNumberIncrementTooLarge: "SequenceNumberIncrementTooLarge", - - /** Snapshot count exceeded. */ - SnapshotCountExceeded: "SnapshotCountExceeded", - - /** Snapshot operation rate exceeded. */ - SnapshotOperationRateExceeded: "SnapshotOperationRateExceeded", - - /** Snapshots present. */ - SnapshotsPresent: "SnapshotsPresent", - - /** Source condition not met. */ - SourceConditionNotMet: "SourceConditionNotMet", - - /** System in use. */ - SystemInUse: "SystemInUse", - - /** Target condition not met. */ - TargetConditionNotMet: "TargetConditionNotMet", - - /** Unauthorized blob overwrite. */ - UnauthorizedBlobOverwrite: "UnauthorizedBlobOverwrite", - - /** Blob being rehydrated. */ - BlobBeingRehydrated: "BlobBeingRehydrated", - - /** Blob archived. */ - BlobArchived: "BlobArchived", - - /** Blob not archived. */ - BlobNotArchived: "BlobNotArchived", - - /** Authorization source IP mismatch. */ - AuthorizationSourceIPMismatch: "AuthorizationSourceIPMismatch", - - /** Authorization protocol mismatch. */ - AuthorizationProtocolMismatch: "AuthorizationProtocolMismatch", - - /** Authorization permission mismatch. */ - AuthorizationPermissionMismatch: "AuthorizationPermissionMismatch", - - /** Authorization service mismatch. */ - AuthorizationServiceMismatch: "AuthorizationServiceMismatch", - - /** Authorization resource type mismatch. */ - AuthorizationResourceTypeMismatch: "AuthorizationResourceTypeMismatch", - - /** Blob access tier not supported for account type. */ - BlobAccessTierNotSupportedForAccountType: "BlobAccessTierNotSupportedForAccountType", - - /** Extensible */ - string, -} - -/// Models - -/** Represents a single block in a block blob. It describes the block's ID and size. */ -model Block { - /** The base64 encoded block ID. */ - @Xml.name("Name") - name: base64Bytes; - - /** The block size in bytes. */ - @Xml.name("Size") - size: int64; -} - -/** Contains the committed and uncommitted blocks in a block blob. */ -model BlockList { - /** The list of committed blocks. */ - @Xml.name("CommittedBlocks") - committedBlocks?: Block[]; - - /** The list of uncommitted blocks. */ - @Xml.name("UncommittedBlocks") - uncommittedBlocks?: Block[]; -} - -/** The Block lookup list. */ -@Xml.name("BlockList") -model BlockLookupList { - /** The committed blocks */ - @Xml.unwrapped - @Xml.name("Committed") - committed?: base64Bytes[]; - - /** The uncommitted blocks */ - @Xml.unwrapped - @Xml.name("Uncommitted") - uncommitted?: base64Bytes[]; - - /** The latest blocks */ - @Xml.unwrapped - @Xml.name("Latest") - latest?: base64Bytes[]; -} - -/** Represents an array of signed identifiers */ -model SignedIdentifiers { - /** The array of signed identifiers. */ - @Xml.unwrapped - @Xml.name("SignedIdentifier") - items: Array; -} - -/** The signed identifier. */ -@Xml.name("SignedIdentifier") -model SignedIdentifier { - /** The unique ID for the signed identifier. */ - @Xml.name("Id") id: string; - - /** The access policy for the signed identifier. */ - @Xml.name("AccessPolicy") accessPolicy: AccessPolicy; -} - -/** The result of a Filter Blobs API call */ -@Xml.name("EnumerationResults") -model FilterBlobSegment { - /** The service endpoint. */ - @Xml.attribute - @Xml.name("ServiceEndpoint") - serviceEndpoint: string; - - /** The filter for the blobs. */ - @Xml.name("Where") where: string; - - /** The blob segment. */ - @Xml.name("Blobs") blobs: FilterBlobItem[]; - - /** The next marker of the blobs. */ - @Xml.name("NextMarker") - nextMarker?: string; -} - -/** The filter blob item. */ -@Xml.name("Blob") -model FilterBlobItem { - /** The name of the blob. */ - @Xml.name("Name") name: string; - - /** The properties of the blob. */ - @Xml.name("ContainerName") containerName: string; - - /** The metadata of the blob. */ - @Xml.unwrapped tags?: BlobTags; - - /** The version ID of the blob. */ - @Xml.name("VersionId") versionId?: string; - - /** Whether it is the current version of the blob */ - @Xml.name("IsCurrentVersion") isCurrentVersion?: boolean; -} - -/** Include this parameter to specify that the container's metadata be returned as part of the response body. */ -#suppress "@azure-tools/typespec-azure-core/no-enum" "Existing API" -enum ListContainersIncludeType { - /** Include metadata */ - metadata: "metadata", - - /** Include deleted */ - deleted: "deleted", - - /** Include system */ - system: "system", -} - -/** The filter blobs includes. */ -#suppress "@azure-tools/typespec-azure-core/no-enum" "Existing API" -enum FilterBlobsIncludeItem { - /** The filter includes no versions. */ - None: "none", - - /** The filter includes n versions. */ - Versions: "versions", -} - -/** The account kind. */ -#suppress "@azure-tools/typespec-azure-core/no-enum" "Existing API" -enum AccountKind { - /** The storage account is a general-purpose account. */ - Storage: "Storage", - - /** The storage account is a blob storage account. */ - BlobStorage: "BlobStorage", - - /** The storage account is a storage V2 account. */ - StorageV2: "StorageV2", - - /** The storage account is a file storage account. */ - FileStorage: "FileStorage", - - /** The storage account is a block blob storage account. */ - BlockBlobStorage: "BlockBlobStorage", -} - -/** The SKU types */ -#suppress "@azure-tools/typespec-azure-core/no-enum" "Existing API" -enum SkuName { - /** The standard LRS SKU. */ - StandardLRS: "Standard_LRS", - - /** The standard GRS SKU. */ - StandardGRS: "Standard_GRS", - - /** The standard RAGRS SKU. */ - StandardRAGRS: "Standard_RAGRS", - - /** The standard ZRS SKU. */ - StandardZRS: "Standard_ZRS", - - /** The premium LRS SKU. */ - PremiumLRS: "Premium_LRS", - - /** The standard GZRS SKU. */ - @added(Versions.v2026_04_06) - StandardGZRS: "Standard_GZRS", - - /** The premium ZRS SKU. */ - @added(Versions.v2026_04_06) - PremiumZRS: "Premium_ZRS", - - /** The standard RAGZRS SKU. */ - @added(Versions.v2026_04_06) - StandardRAGZRS: "Standard_RAGZRS", -} - -/** The list container segment response */ -@Xml.name("EnumerationResults") -model ListContainersSegmentResponse { - /** The service endpoint. */ - @Xml.attribute - @Xml.name("ServiceEndpoint") - serviceEndpoint: string; - - /** The prefix of the containers. */ - @Xml.name("Prefix") prefix?: string; - - /** The marker of the containers. */ - @Xml.name("Marker") marker?: string; - - /** The max results of the containers. */ - @Xml.name("MaxResults") maxResults?: int32; - - /** The container segment. */ - @pageItems - @Xml.name("Containers") - containerItems: ContainerItem[]; - - /** The next marker of the containers. */ - #suppress "@azure-tools/typespec-azure-core/casing-style" "Existing API. The casing is correct." - @continuationToken - @Xml.name("NextMarker") - NextMarker?: string; -} - -/** An Azure Storage container. */ -@Xml.name("Container") -model ContainerItem { - /** The name of the container. */ - @Xml.name("Name") name: string; - - /** Whether the container is deleted. */ - @Xml.name("Deleted") delete?: boolean; - - /** The version of the container. */ - @Xml.name("Version") version?: string; - - /** The properties of the container. */ - @Xml.name("Properties") properties: ContainerProperties; - - /** The metadata of the container. */ - #suppress "@azure-tools/typespec-autorest/unsupported-param-type" "Existing API" - @Xml.name("Metadata") metadata?: Record; -} - -/** The properties of a container. */ -model ContainerProperties { - /** The date-time the container was last modified in RFC1123 format. */ - #suppress "@azure-tools/typespec-azure-core/known-encoding" "Existing API" - @encode("rfc7231") - @Xml.name("Last-Modified") - lastModified: utcDateTime; - - /** The ETag of the container. */ - @Xml.name("ETag") eTag: string; - - /** The lease status of the container. */ - @Xml.name("LeaseStatus") leaseStatus?: LeaseStatus; - - /** The lease state of the container. */ - @Xml.name("LeaseState") leaseState?: LeaseState; - - /** The lease duration of the container. */ - @Xml.name("LeaseDuration") leaseDuration?: LeaseDuration; - - /** The public access type of the container. */ - @Xml.name("PublicAccess") publicAccess?: PublicAccessType; - - /** Whether it has an immutability policy. */ - @Xml.name("HasImmutabilityPolicy") hasImmutabilityPolicy?: boolean; - - /** The has legal hold status of the container. */ - @Xml.name("HasLegalHold") hasLegalHold?: boolean; - - /** The default encryption scope of the container. */ - @Xml.name("DefaultEncryptionScope") defaultEncryptionScope?: string; - - /** Whether to prevent encryption scope override. */ - @Xml.name("DenyEncryptionScopeOverride") - denyEncryptionScopeOverride?: boolean; - - /** The deleted time of the container. */ - #suppress "@azure-tools/typespec-azure-core/known-encoding" "Existing API" - @encode("rfc7231") - @Xml.name("DeletedTime") - deletedTime?: utcDateTime; - - /** The remaining retention days of the container. */ - @Xml.name("RemainingRetentionDays") remainingRetentionDays?: int32; - - /** Whether immutable storage with versioning is enabled. */ - @Xml.name("ImmutableStorageWithVersioningEnabled") - immutableStorageWithVersioningEnabled?: boolean; -} - -/** Stats for the storage service. */ -model StorageServiceStats { - /** The geo replication stats. */ - @Xml.name("GeoReplication") geoReplication?: GeoReplication; -} - -/** Geo-Replication information for the Secondary Storage Service */ -model GeoReplication { - /** The status of the secondary location */ - @Xml.name("Status") status: GeoReplicationStatusType; - - /** A GMT date/time value, to the second. All primary writes preceding this value are guaranteed to be available for read operations at the secondary. Primary writes after this point in time may or may not be available for reads. */ - #suppress "@azure-tools/typespec-azure-core/known-encoding" "Existing API" - @encode("rfc7231") - @Xml.name("LastSyncTime") - lastSyncTime: utcDateTime; -} - -/** The geo replication status. */ -union GeoReplicationStatusType { - /** The geo replication is live. */ - Live: "live", - - /** The geo replication is bootstrap. */ - Bootstrap: "bootstrap", - - /** The geo replication is unavailable. */ - Unavailable: "unavailable", - - /** Extensible */ - string, -} - -/** Key information */ -model KeyInfo { - /** The date-time the key is active. */ - @Xml.name("Start") start: string; - - /** The date-time the key expires. */ - @Xml.name("Expiry") expiry: string; - - /** The delegated user tenant id in Azure AD. */ - @Xml.name("DelegatedUserTid") - @added(Versions.v2026_04_06) - delegatedUserTid?: uuid; -} - -/** A user delegation key. */ -model UserDelegationKey { - /** The Azure Active Directory object ID in GUID format. */ - @Xml.name("SignedOid") signedOid: uuid; - - /** The Azure Active Directory tenant ID in GUID format. */ - @Xml.name("SignedTid") signedTid: uuid; - - /** The date-time the key is active. */ - @Xml.name("SignedStart") signedStart: string; - - /** The date-time the key expires. */ - @Xml.name("SignedExpiry") signedExpiry: string; - - /** Abbreviation of the Azure Storage service that accepts the key. */ - @Xml.name("SignedService") signedService: string; - - /** The service version that created the key. */ - @Xml.name("SignedVersion") signedVersion: string; - - /** The delegated user tenant id in Azure AD. Return if DelegatedUserTid is specified. */ - @Xml.name("SignedDelegatedUserTid") - @added(Versions.v2026_04_06) - signedDelegatedUserTid?: uuid; - - /** The key as a base64 string. */ - @Xml.name("Value") - value: base64Bytes; -} - -/** The public access types. */ -union PublicAccessType { - /** Blob access. */ - Blob: "blob", - - /** Container access. */ - Container: "container", - - /** Extensible */ - string, -} - -/** The copy status. */ -#suppress "@azure-tools/typespec-azure-core/no-enum" "Existing API" -enum CopyStatus { - /** The copy operation is pending. */ - Pending: "pending", - - /** The copy operation succeeded. */ - Success: "success", - - /** The copy operation failed. */ - Failed: "failed", - - /** The copy operation is aborted. */ - Aborted: "aborted", -} - -/** The lease duration. */ -#suppress "@azure-tools/typespec-azure-core/no-enum" "Existing API" -enum LeaseDuration { - /** The lease is of infinite duration. */ - Infinite: "infinite", - - /** The lease is of fixed duration. */ - Fixed: "fixed", -} - -/** The lease state. */ -#suppress "@azure-tools/typespec-azure-core/no-enum" "Existing API" -enum LeaseState { - /** The lease is available. */ - Available: "available", - - /** The lease is currently leased. */ - Leased: "leased", - - /** The lease is expired. */ - Expired: "expired", - - /** The lease is breaking. */ - Breaking: "breaking", - - /** The lease is broken. */ - Broken: "broken", -} - -/** The lease status. */ -#suppress "@azure-tools/typespec-azure-core/no-enum" "Existing API" -enum LeaseStatus { - /** The lease is unlocked. */ - Unlocked: "unlocked", - - /** The lease is locked. */ - Locked: "locked", -} - -/** Represents an access policy. */ -model AccessPolicy { - /** The date-time the policy is active. */ - @Xml.name("Start") - @encode("rfc3339-fixed-width") - start: utcDateTime; - - /** The date-time the policy expires. */ - @Xml.name("Expiry") - @encode("rfc3339-fixed-width") - expiry: utcDateTime; - - /** The permissions for acl the policy. */ - @Xml.name("Permission") permission: string; -} - -/** The access tiers. */ -union AccessTier { - /** The hot P4 tier. */ - P4: "P4", - - /** The hot P6 tier. */ - P6: "P6", - - /** The hot P10 tier. */ - P10: "P10", - - /** The hot P15 tier. */ - P15: "P15", - - /** The hot P20 tier. */ - P20: "P20", - - /** The hot P30 tier. */ - P30: "P30", - - /** The hot P40 tier. */ - P40: "P40", - - /** The hot P50 tier. */ - P50: "P50", - - /** The hot P60 tier. */ - P60: "P60", - - /** The hot P70 tier. */ - P70: "P70", - - /** The hot P80 tier. */ - P80: "P80", - - /** The hot access tier. */ - Hot: "Hot", - - /** The cool access tier. */ - Cool: "Cool", - - /** The archive access tier. */ - Archive: "Archive", - - /** The Premium access tier. */ - Premium: "Premium", - - /** The Cold access tier. */ - Cold: "Cold", - - /** Extensible */ - string, -} - -/** The archive status. */ -union ArchiveStatus { - /** The archive status is rehydrating pending to hot. */ - RehydratePendingToHot: "rehydrate-pending-to-hot", - - /** The archive status is rehydrating pending to cool. */ - RehydratePendingToCool: "rehydrate-pending-to-cool", - - /** The archive status is rehydrating pending to archive. */ - RehydratePendingToCold: "rehydrate-pending-to-cold", - - /** Extensible */ - string, -} - -/** An Azure Storage Blob */ -@Xml.name("Blob") -model BlobItemInternal { - /** The name of the blob. */ - @Xml.name("Name") name: BlobName; - - /** Whether the blob is deleted. */ - @Xml.name("Deleted") deleted: boolean; - - /** The snapshot of the blob. */ - @Xml.name("Snapshot") snapshot: string; - - /** The version id of the blob. */ - @Xml.name("VersionId") versionId?: string; - - /** Whether the blob is the current version. */ - @Xml.name("IsCurrentVersion") isCurrentVersion?: boolean; - - /** The properties of the blob. */ - @Xml.name("Properties") properties: BlobPropertiesInternal; - - /** The metadata of the blob. */ - @Xml.name("Metadata") metadata?: BlobMetadata; - - /** The tags of the blob. */ - @Xml.name("BlobTags") blobTags?: BlobTags; - - /** The object replication metadata of the blob. */ - #suppress "@azure-tools/typespec-autorest/unsupported-param-type" "Existing API" - @Xml.name("OrMetadata") - objectReplicationMetadata?: ObjectReplicationMetadata; - - /** Whether the blob has versions only. */ - @Xml.name("HasVersionsOnly") hasVersionsOnly?: boolean; -} - -/** The properties of a blob. */ -@Xml.name("Properties") -model BlobPropertiesInternal { - /** The date-time the blob was created in RFC1123 format. */ - #suppress "@azure-tools/typespec-azure-core/known-encoding" "Existing API" - @encode("rfc7231") - @Xml.name("Creation-Time") - creationTime?: utcDateTime; - - /** The date-time the blob was last modified in RFC1123 format. */ - #suppress "@azure-tools/typespec-azure-core/known-encoding" "Existing API" - @encode("rfc7231") - @Xml.name("Last-Modified") - lastModified: utcDateTime; - - /** The blob ETag. */ - @Xml.name("Etag") eTag: string; - - /** The content length of the blob. */ - @Xml.name("Content-Length") contentLength?: int64; - - /** The content type of the blob. */ - @Xml.name("Content-Type") contentType?: string; - - /** The content encoding of the blob. */ - @Xml.name("Content-Encoding") contentEncoding?: string; - - /** The content language of the blob. */ - @Xml.name("Content-Language") contentLanguage?: string; - - /** The content MD5 of the blob. */ - @Xml.name("Content-MD5") contentMd5?: bytes; - - /** The content disposition of the blob. */ - @Xml.name("Content-Disposition") contentDisposition?: string; - - /** The cache control of the blob. */ - @Xml.name("Cache-Control") cacheControl?: string; - - /** The sequence number of the blob. */ - @Xml.name("x-ms-blob-sequence-number") blobSequenceNumber?: int64; - - /** The blob type. */ - @Xml.name("BlobType") blobType?: BlobType; - - /** The lease status of the blob. */ - @Xml.name("LeaseStatus") leaseStatus?: LeaseStatus; - - /** The lease state of the blob. */ - @Xml.name("LeaseState") leaseState?: LeaseState; - - /** The lease duration of the blob. */ - @Xml.name("LeaseDuration") leaseDuration?: LeaseDuration; - - /** The copy ID of the blob. */ - @Xml.name("CopyId") copyId?: string; - - /** The copy status of the blob. */ - @Xml.name("CopyStatus") copyStatus?: CopyStatus; - - /** The copy source of the blob. */ - @Xml.name("CopySource") copySource?: string; - - /** The copy progress of the blob. */ - @Xml.name("CopyProgress") copyProgress?: string; - - /** The copy completion time of the blob. */ - #suppress "@azure-tools/typespec-azure-core/known-encoding" "Existing API" - @encode("rfc7231") - @Xml.name("CopyCompletionTime") - copyCompletionTime?: utcDateTime; - - /** The copy status description of the blob. */ - @Xml.name("CopyStatusDescription") copyStatusDescription?: string; - - /** Whether the blob is encrypted on the server. */ - @Xml.name("ServerEncrypted") serverEncrypted?: boolean; - - /** Whether the blob is incremental copy. */ - @Xml.name("IncrementalCopy") incrementalCopy?: boolean; - - /** The name of the destination snapshot. */ - @Xml.name("DestinationSnapshot") destinationSnapshot?: string; - - /** The time the blob was deleted. */ - #suppress "@azure-tools/typespec-azure-core/known-encoding" "Existing API" - @encode("rfc7231") - @Xml.name("DeletedTime") - deletedTime?: utcDateTime; - - /** The remaining retention days of the blob. */ - @Xml.name("RemainingRetentionDays") remainingRetentionDays?: int32; - - /** The access tier of the blob. */ - @Xml.name("AccessTier") accessTier?: AccessTier; - - /** Whether the access tier is inferred. */ - @Xml.name("AccessTierInferred") accessTierInferred?: boolean; - - /** The archive status of the blob. */ - @Xml.name("ArchiveStatus") archiveStatus?: ArchiveStatus; - - /** Customer provided key sha256 */ - @Xml.name("CustomerProvidedKeySha256") customerProvidedKeySha256?: string; - - /** The encryption scope of the blob. */ - @Xml.name("EncryptionScope") encryptionScope?: string; - - /** The access tier change time of the blob. */ - #suppress "@azure-tools/typespec-azure-core/known-encoding" "Existing API" - @encode("rfc7231") - @Xml.name("AccessTierChangeTime") - accessTierChangeTime?: utcDateTime; - - /** The number of tags for the blob. */ - @Xml.name("TagCount") tagCount?: int32; - - /** The expire time of the blob. */ - #suppress "@azure-tools/typespec-azure-core/known-encoding" "Existing API" - @encode("rfc7231") - @Xml.name("Expiry-Time") - expiryTime?: utcDateTime; - - /** Whether the blob is sealed. */ - @Xml.name("Sealed") - sealed?: boolean; - - /** The rehydrate priority of the blob. */ - @Xml.name("RehydratePriority") rehydratePriority?: RehydratePriority; - - /** The last access time of the blob. */ - #suppress "@azure-tools/typespec-azure-core/known-encoding" "Existing API" - @encode("rfc7231") - @Xml.name("LastAccessTime") - lastAccessTime?: utcDateTime; - - /** The immutability policy until time of the blob. */ - #suppress "@azure-tools/typespec-azure-core/known-encoding" "Existing API" - @encode("rfc7231") - @Xml.name("ImmutabilityPolicyUntilDate") - immutabilityPolicyUntilDate?: utcDateTime; - - /** The immutability policy mode of the blob. */ - @Xml.name("ImmutabilityPolicyMode") - immutabilityPolicyMode?: ImmutabilityPolicyMode; - - /** Whether the blob is under legal hold. */ - @Xml.name("LegalHold") legalHold?: boolean; -} - -/** The immutability policy mode used in requests and responses. */ -#suppress "@azure-tools/typespec-azure-core/no-enum" "Existing API" -enum ImmutabilityPolicyMode { - /** The immutability policy is mutable. Should never be set, only returned. */ - Mutable: "mutable", - - /** The immutability policy is locked. */ - Locked: "locked", - - /** The immutability policy is unlocked. */ - Unlocked: "unlocked", -} - -/** The blob type. */ -#suppress "@azure-tools/typespec-azure-core/no-enum" "Existing API" -enum BlobType { - /** The blob is a block blob. */ - BlockBlob: "BlockBlob", - - /** The blob is a page blob. */ - PageBlob: "PageBlob", - - /** The blob is an append blob. */ - AppendBlob: "AppendBlob", -} - -/** If an object is in rehydrate pending state then this header is returned with priority of rehydrate. Valid values are High and Standard. */ -@Xml.name("RehydratePriority") -union RehydratePriority { - /** The rehydrate priority is high. */ - High: "High", - - /** The rehydrate priority is standard. */ - Standard: "Standard", - - /** Extensible */ - string, -} - -/** The blob metadata. */ -// TODO: check if this needs an unwrapped decorator -#suppress "@azure-tools/typespec-autorest/unsupported-param-type" "Existing API" -#suppress "@azure-tools/typespec-azure-core/bad-record-type" "Existing API" -model BlobMetadata is Record { - /** Whether the blob metadata is encrypted. */ - @Xml.attribute - @Xml.name("Encrypted") - encrypted?: string; -} - -/** The blob tags. */ -@Xml.name("Tag") -model BlobTag { - /** The key of the tag. */ - @Xml.name("Key") key: string; - - /** The value of the tag. */ - @Xml.name("Value") value: string; -} - -/** The object replication metadata. */ -#suppress "@azure-tools/typespec-autorest/unsupported-param-type" "Existing API" -@Xml.name("OrMetadata") -model ObjectReplicationMetadata is Record; - -/// Service Properties - -/** The service properties. */ -@Xml.name("StorageServiceProperties") -model BlobServiceProperties { - /** The logging properties. */ - @Xml.name("Logging") logging?: Logging; - - /** The hour metrics properties. */ - @Xml.name("HourMetrics") hourMetrics?: Metrics; - - /** The minute metrics properties. */ - @Xml.name("MinuteMetrics") minuteMetrics?: Metrics; - - /** The CORS properties. */ - @Xml.name("Cors") cors?: CorsRule[]; - - /** The default service version. */ - @Xml.name("DefaultServiceVersion") defaultServiceVersion?: string; - - /** The delete retention policy. */ - @Xml.name("DeleteRetentionPolicy") deleteRetentionPolicy?: RetentionPolicy; - - /** The static website properties. */ - @Xml.name("StaticWebsite") staticWebsite?: StaticWebsite; -} - -/** The properties that enable an account to host a static website */ -model StaticWebsite { - /** Indicates whether this account is hosting a static website */ - @Xml.name("Enabled") enabled: boolean; - - /** The index document. */ - @Xml.name("IndexDocument") indexDocument?: string; - - /** The error document. */ - @Xml.name("ErrorDocument404Path") errorDocument404Path?: string; - - /** Absolute path of the default index page */ - @Xml.name("DefaultIndexDocumentPath") defaultIndexDocumentPath?: string; -} - -/** CORS is an HTTP feature that enables a web application running under one domain to access resources in another domain. Web browsers implement a security restriction known as same-origin policy that prevents a web page from calling APIs in a different domain; CORS provides a secure way to allow one domain (the origin domain) to call APIs in another domain */ -model CorsRule { - /** The allowed origins. */ - @Xml.name("AllowedOrigins") allowedOrigins: string; - - /** The allowed methods. */ - @Xml.name("AllowedMethods") allowedMethods: string; - - /** The allowed headers. */ - @Xml.name("AllowedHeaders") allowedHeaders: string; - - /** The exposed headers. */ - @Xml.name("ExposedHeaders") exposedHeaders: string; - - /** The maximum age in seconds. */ - @Xml.name("MaxAgeInSeconds") - @minValue(0) - maxAgeInSeconds: int32; -} - -/** The metrics properties. */ -model Metrics { - /** The version of the metrics properties. */ - @Xml.name("Version") version?: string; - - /** Whether it is enabled. */ - @Xml.name("Enabled") enabled: boolean; - - /** Whether to include API in the metrics. */ - @Xml.name("IncludeAPIs") includeApis?: boolean; - - /** The retention policy of the metrics. */ - @Xml.name("RetentionPolicy") retentionPolicy?: RetentionPolicy; -} - -/** Azure Analytics Logging settings. */ -model Logging { - /** The version of the logging properties. */ - @Xml.name("Version") version: string; - - /** Whether delete operation is logged. */ - @Xml.name("Delete") delete: boolean; - - /** Whether read operation is logged. */ - @Xml.name("Read") read: boolean; - - /** Whether write operation is logged. */ - @Xml.name("Write") write: boolean; - - /** The retention policy of the logs. */ - @Xml.name("RetentionPolicy") retentionPolicy: RetentionPolicy; -} - -/** The retention policy. */ -model RetentionPolicy { - /** Whether to enable the retention policy. */ - @Xml.name("Enabled") enabled: boolean; - - /** The number of days to retain the logs. */ - @Xml.name("Days") - @minValue(1) - days?: int32; - - /** Whether to allow permanent delete. */ - @Xml.name("AllowPermanentDelete") allowPermanentDelete?: boolean; -} - -// List Blobs - -/** An enumeration of blobs. */ -@Xml.name("EnumerationResults") -model ListBlobsFlatSegmentResponse { - /** The service endpoint. */ - @Xml.attribute - @Xml.name("ServiceEndpoint") - serviceEndpoint: string; - - /** The container name. */ - @Xml.attribute - @Xml.name("ContainerName") - containerName: string; - - /** The prefix of the blobs. */ - @Xml.name("Prefix") prefix?: string; - - /** The marker of the blobs. */ - @Xml.name("Marker") marker?: string; - - /** The max results of the blobs. */ - @Xml.name("MaxResults") maxResults?: int32; - - /** The blob segment. */ - @Xml.name("Blobs") - segment: BlobFlatListSegment; - - /** The next marker of the blobs. */ - @continuationToken - @Xml.name("NextMarker") - nextMarker?: string; -} - -/** The blob flat list segment. */ -model BlobFlatListSegment { - /** The blob items. */ - @pageItems - @Xml.name("Blob") - @Xml.unwrapped - blobItems: BlobItemInternal[]; -} - -/** Represents a page list. */ -model PageList { - /** The page ranges. */ - @Xml.unwrapped - @Xml.name("PageRange") - pageRange?: PageRange[]; - - /** The clear ranges. */ - @Xml.unwrapped - @Xml.name("ClearRange") - clearRange?: ClearRange[]; - - /** The next marker. */ - @continuationToken - @Xml.name("NextMarker") - nextMarker?: string; -} - -/** The page range. */ -model PageRange { - /** The start of the byte range. */ - @Xml.name("Start") start: int64; - - /** The end of the byte range. */ - @Xml.name("End") end: int64; -} - -/** The clear range. */ -model ClearRange { - /** The start of the byte range. */ - @Xml.name("Start") start: int64; - - /** The end of the byte range. */ - @Xml.name("End") end: int64; -} - -/** Represents blob tags. */ -@Xml.name("Tags") -model BlobTags { - /** Represents the blob tags. */ - @Xml.name("TagSet") blobTagSet: BlobTag[]; -} - -/** The query request, note only SQL supported */ -#suppress "@azure-tools/typespec-azure-core/no-enum" "Existing API" -enum QueryRequestType { - /** The SQL request query type. */ - SQL: "SQL", -} - -/** Groups the set of query request settings. */ -model QueryRequest { - /** Required. The type of the provided query expression. */ - @Xml.name("QueryType") queryType: QueryRequestType; - - /** The query expression in SQL. The maximum size of the query expression is 256KiB. */ - @Xml.name("Expression") expression: string; - - /** The input serialization settings. */ - @Xml.name("InputSerialization") inputSerialization?: QuerySerialization; - - /** The output serialization settings. */ - @Xml.name("OutputSerialization") outputSerialization?: QuerySerialization; -} - -/** The query serialization settings. */ -model QuerySerialization { - /** The query format. */ - @Xml.name("Format") format: QueryFormat; -} - -/** The query format settings. */ -model QueryFormat { - /** The query type. */ - @Xml.name("Type") type: QueryType; - - /** The delimited text configuration. */ - @Xml.name("DelimitedTextConfiguration") - delimitedTextConfiguration?: DelimitedTextConfiguration; - - /** The JSON text configuration. */ - @Xml.name("JsonTextConfiguration") - jsonTextConfiguration?: JsonTextConfiguration; - - /** The Apache Arrow configuration. */ - @Xml.name("ArrowConfiguration") arrowConfiguration?: ArrowConfiguration; - - /** The Parquet configuration. */ - #suppress "@azure-tools/typespec-azure-core/bad-record-type" "Existing API" - @Xml.name("ParquetConfiguration") - parquetTextConfiguration?: ParquetConfiguration; -} - -/** Represents the delimited text configuration. */ -model DelimitedTextConfiguration { - /** The string used to separate columns. */ - @Xml.name("ColumnSeparator") columnSeparator?: string; - - /** The string used to quote a specific field. */ - @Xml.name("FieldQuote") fieldQuote?: string; - - /** The string used to separate records. */ - @Xml.name("RecordSeparator") recordSeparator?: string; - - /** The string used to escape a quote character in a field. */ - @Xml.name("EscapeChar") escapeChar?: string; - - /** Represents whether the data has headers. */ - @Xml.name("HasHeaders") headersPresent?: boolean; -} - -/** Represents the JSON text configuration. */ -model JsonTextConfiguration { - /** The string used to separate records. */ - @Xml.name("RecordSeparator") recordSeparator?: string; -} - -/** Represents the Apache Arrow configuration. */ -model ArrowConfiguration { - /** The Apache Arrow schema */ - @Xml.name("Schema") schema: ArrowField[]; -} - -/** Represents an Apache Arrow field. */ -@Xml.name("Field") -model ArrowField { - /** The arrow field type. */ - @Xml.name("Type") type: string; - - /** The arrow field name. */ - @Xml.name("Name") name?: string; - - /** The arrow field precision. */ - @Xml.name("Precision") precision?: int32; - - /** The arrow field scale. */ - @Xml.name("Scale") scale?: int32; -} - -/** Represents the Parquet configuration. */ -#suppress "@azure-tools/typespec-azure-core/bad-record-type" "Existing API" -model ParquetConfiguration is Record; - -/** The query format type. */ -#suppress "@azure-tools/typespec-azure-core/no-enum" "Existing API" -@Xml.name("Type") -enum QueryType { - /** The query format type is delimited. */ - Delimited: "delimited", - - /** The query format type is JSON. */ - JSON: "json", - - /** The query format type is Apache Arrow. */ - Arrow: "arrow", - - /** The query format type is Parquet. */ - Parquet: "parquet", -} - -/// Parameters - -/** The blob append offset response header. */ -alias BlobAppendOffsetResponseHeader = { - /** This response header is returned only for append operations. It returns the offset at which the block was committed, in bytes. */ - @header("x-ms-blob-append-offset") - blobAppendOffset?: string; -}; - -/** The blob condition append position parameter. */ -alias BlobConditionAppendPosParameter = { - /** Optional conditional header, used only for the Append Block operation. A number indicating the byte offset to compare. Append Block will succeed only if the append position is equal to this number. If it is not, the request will fail with the AppendPositionConditionNotMet error (HTTP status code 412 - Precondition Failed). */ - @header("x-ms-blob-condition-appendpos") - appendPosition?: int64; -}; - -/** The blob condition max size parameter. */ -alias BlobConditionMaxSizeParameter = { - /** Optional conditional header. The max length in bytes permitted for the append blob. If the Append Block operation would cause the blob to exceed that limit or if the blob size is already greater than the value specified in this header, the request will fail with MaxBlobSizeConditionNotMet error (HTTP status code 412 - Precondition Failed). */ - @header("x-ms-blob-condition-maxsize") - maxSize?: int64; -}; - -/** The sequence number action parameter. */ -alias SequenceNumberActionParameter = { - /** Required if the x-ms-blob-sequence-number header is set for the request. This property applies to page blobs only. This property indicates how the service should modify the blob's sequence number */ - @header("x-ms-sequence-number-action") - sequenceNumberAction: SequenceNumberActionType; -}; - -/** The sequence number actions. */ -#suppress "@azure-tools/typespec-azure-core/no-enum" "Existing API" -enum SequenceNumberActionType { - /** Increment the sequence number. */ - Increment: "increment", - - /** Set the maximum for the sequence number. */ - Max: "max", - - /** Update the sequence number. */ - Update: "update", -} - -/** The sequence number parameter. */ -alias SequenceNumberParameter = { - /** Set for page blobs only. The sequence number is a user-controlled value that you can use to track requests. The value of the sequence number must be between 0 and 2^63 - 1. */ - @header("x-ms-blob-sequence-number") - blobSequenceNumber?: int64 = 0; -}; - -/** The blob content length required parameter. */ -alias BlobContentLengthResponseHeader = { - /** The size of the blob in bytes. */ - @header("x-ms-blob-content-length") - blobContentLength?: int64; -}; -/** The blob content length required parameter. */ -alias BlobContentLengthRequired = { - /** This header specifies the maximum size for the page blob, up to 1 TB. The page blob size must be aligned to a 512-byte boundary. */ - @header("x-ms-blob-content-length") - size: int64; -}; - -/** The deny encryption scope override response header. */ -alias DenyEncryptionScopeOverride = { - /** If a blob has a lease and the lease is of infinite duration then the value of this header is set to true, otherwise it is set to false. */ - @clientName("PreventEncryptionScopeOverride") - @header("x-ms-deny-encryption-scope-override") - denyEncryptionScopeOverride?: boolean; -}; - -/** Specifies whether data in the container may be accessed publicly and the level of access */ -alias BlobPublicAccess = { - /** The public access setting for the container. */ - @header("x-ms-blob-public-access") - access?: PublicAccessType; -}; - -/** Optional: Indicates the priority with which to rehydrate an archived blob. */ -alias RehydratePriorityHeader = { - /** If an object is in rehydrate pending state then this header is returned with priority of rehydrate. Valid values are High and Standard. */ - @header("x-ms-rehydrate-priority") - rehydratePriority?: RehydratePriority; -}; - -/** The expires on response header. */ -alias ExpiryTimeHeader = { - /** The time this blob will expire. */ - #suppress "@azure-tools/typespec-azure-core/known-encoding" "Existing API" - @clientName("ExpiresOn") - @encode("rfc7231") - @header("x-ms-expiry-time") - expiryTime?: utcDateTime; -}; - -/** The immutability policy expires on response header. */ -alias ImmutabilityPolicyExpiresOnResponseHeader = { - /** UTC date/time value generated by the service that indicates the time at which the blob immutability policy will expire. */ - #suppress "@azure-tools/typespec-azure-core/known-encoding" "Existing API" - @clientName("ImmutabilityPolicyExpiresOn") - @encode("rfc7231") - @header("x-ms-immutability-policy-until-date") - immutabilityPolicyUntilDate?: utcDateTime; -}; - -/** The immutability policy expires on response header. */ -alias ImmutabilityPolicyExpiresOnResponseHeaderPrivate = { - /** UTC date/time value generated by the service that indicates the time at which the blob immutability policy will expire. */ - #suppress "@azure-tools/typespec-azure-core/known-encoding" "Existing API" - @clientName("ImmutabilityPolicyExpiresOn") - @encode("rfc7231") - @access(Access.internal) - @header("x-ms-immutability-policy-until-date") - immutabilityPolicyUntilDate?: utcDateTime; -}; - -/** The last accessed response header. */ -alias LastAccessedResponseHeader = { - /** UTC date/time value generated by the service that indicates the time at which the blob was last read or written to */ - #suppress "@azure-tools/typespec-azure-core/known-encoding" "Existing API" - @encode("rfc7231") - @header("x-ms-last-access-time") - lastAccessed?: utcDateTime; -}; - -/** The is sealed response header. */ -alias IsSealedResponseHeader = { - /** If this blob has been sealed */ - @header("x-ms-blob-sealed") - isSealed?: boolean; -}; - -/** The tag count response header. */ -alias TagCountResponseHeader = { - /** The number of tags associated with the blob */ - @header("x-ms-tag-count") - tagCount?: int64; -}; - -/** The blob committed block count response header. */ -alias BlobCommittedBlockCountResponseHeader = { - /** The number of committed blocks present in the blob. This header is returned only for append blobs. */ - @header("x-ms-blob-committed-block-count") - blobCommittedBlockCount?: int32; -}; - -/** The accept ranges response header. */ -alias AcceptRangesResponseHeader = { - /** Indicates that the service supports requests for partial blob content. */ - @header("Accept-Ranges") acceptRanges?: string; -}; - -/** The private accept ranges response header. */ -alias AcceptRangesResponseHeaderPrivate = { - /** Indicates that the service supports requests for partial blob content. */ - @access(Access.internal) - @header("Accept-Ranges") - acceptRanges?: string; -}; - -/** The is current version response header. */ -alias IsCurrentVersionResponseHeader = { - /** The value of this header indicates whether version of this blob is a current version, see also x-ms-version-id header. */ - @header("x-ms-is-current-version") - isCurrentVersion?: boolean; -}; - -/** The lease status response header. */ -alias LeaseStatusResponseHeader = { - /** The lease status of the blob. */ - @header("x-ms-lease-status") - leaseStatus?: LeaseStatus; -}; - -/** The lease state response header. */ -alias LeaseStateResponseHeader = { - /** Lease state of the blob. */ - @header("x-ms-lease-state") - leaseState?: LeaseState; -}; - -/** The copy source response header. */ -alias CopySourceResponseHeader = { - /** URL up to 2 KB in length that specifies the source blob or file used in the last attempted Copy Blob operation where this blob was the destination blob. This header does not appear if this blob has never been the destination in a Copy Blob operation, or if this blob has been modified after a concluded Copy Blob operation using Set Blob Properties, Put Blob, or Put Block List. */ - @header("x-ms-copy-source") - copySource?: string; -}; - -/** The copy progress response header. */ -alias CopyProgressResponseHeader = { - /** Contains the number of bytes copied and the total bytes in the source in the last attempted Copy Blob operation where this blob was the destination blob. Can show between 0 and Content-Length bytes copied. This header does not appear if this blob has never been the destination in a Copy Blob operation, or if this blob has been modified after a concluded Copy Blob operation using Set Blob Properties, Put Blob, or Put Block List */ - @header("x-ms-copy-progress") - copyProgress?: string; -}; - -/** The copy status description response header. */ -alias CopyStatusDescriptionResponseHeader = { - /** Only appears when x-ms-copy-status is failed or pending. Describes the cause of the last fatal or non-fatal copy operation failure. This header does not appear if this blob has never been the destination in a Copy Blob operation, or if this blob has been modified after a concluded Copy Blob operation using Set Blob Properties, Put Blob, or Put Block List */ - @header("x-ms-copy-status-description") - copyStatusDescription?: string; -}; - -/** The copy completion time response header. */ -alias CopyCompletionTimeResponseHeader = { - /** Conclusion time of the last attempted Copy Blob operation where this blob was the destination blob. This value can specify the time of a completed, aborted, or failed copy attempt. This header does not appear if a copy is pending, if this blob has never been the destination in a Copy Blob operation, or if this blob has been modified after a concluded Copy Blob operation using Set Blob Properties, Put Blob, or Put Block List. */ - #suppress "@azure-tools/typespec-azure-core/known-encoding" "Existing API" - @encode("rfc7231") - @header("x-ms-copy-completion-time") - copyCompletionTime?: utcDateTime; -}; - -/** The blob type response header. */ -alias BlobTypeResponseHeader = { - /** The type of the blob. */ - @header("x-ms-blob-type") - blobType?: BlobType; -}; - -/** The object replication policy response header. */ -alias ObjectReplicationPolicyIdResponseHeader = { - /** Optional. Only valid when Object Replication is enabled for the storage container and on the destination blob of the replication. */ - @header("x-ms-or-policy-id") - objectReplicationPolicyId?: string; -}; - -/** The if sequence number equal to parameter. */ -alias IfSequenceNumberEqualToParameter = { - /** Specify this header value to operate only on a blob if it has the specified sequence number. */ - @header("x-ms-if-sequence-number-eq") - ifSequenceNumberEqualTo?: int64; -}; - -/** THe if sequence number less than parameter. */ -alias IfSequenceNumberLessThanParameter = { - /** Specify this header value to operate only on a blob if it has a sequence number less than the specified. */ - @header("x-ms-if-sequence-number-lt") - ifSequenceNumberLessThan?: int64; -}; - -/** The if sequence number less than or equal to parameter. */ -alias IfSequenceNumberLessThanOrEqualToParameter = { - /** Specify this header value to operate only on a blob if it has a sequence number less than or equal to the specified. */ - @header("x-ms-if-sequence-number-le") - ifSequenceNumberLessThanOrEqualTo?: int64; -}; - -/** The block list types. */ -#suppress "@azure-tools/typespec-azure-core/no-enum" "Existing API" -enum BlockListType { - /** The list of committed blocks. */ - Committed: "committed", - - /** The list of uncommitted blocks. */ - Uncommitted: "uncommitted", - - /** Both lists together. */ - All: "all", -} - -/** The source content CRC64 parameter. */ -alias SourceContentCrc64Parameter = { - /** Specify the crc64 calculated for the range of bytes that must be read from the copy source. */ - @header("x-ms-source-content-crc64") - sourceContentCrc64?: bytes; -}; - -/** The source range parameter. */ -alias SourceRangeParameter = { - /** Bytes of source data in the specified range. */ - @header("x-ms-source-range") - sourceRange?: string; -}; - -/** The source URL parameter. */ -alias SourceUrlParameter = { - /** Specify a URL to the copy source. */ - @header("x-ms-copy-source") - sourceUrl: string; -}; - -/** The Block ID parameter. */ -alias BlockIdParameter = { - /** A valid Base64 string value that identifies the block. Prior to encoding, the string must be less than or equal to 64 bytes in size. For a given blob, the length of the value specified for the blockid parameter must be the same size for each block. */ - @query - @clientName("blockId") - blockid: base64Bytes; -}; - -/** The account kind response header. */ -alias AccountKindResponseHeader = { - /** Identifies the account kind */ - @header("x-ms-account-kind") - accountKind?: AccountKind; -}; - -/** The SKU name response header. */ -alias SkuNameResponseHeader = { - /** Identifies the sku name of the account */ - @header("x-ms-sku-name") - skuName?: SkuName; -}; - -/** The content CRC 64 response header. */ -alias ContentCrc64ResponseHeader = { - /** This response header is returned so that the client can check for the integrity of the copied content. */ - @header("x-ms-content-crc64") - contentCrc64?: bytes; -}; - -/** The copy status response header. */ -alias CopyStatusResponseHeader = { - /** State of the copy operation identified by x-ms-copy-id. */ - @header("x-ms-copy-status") - copyStatus?: CopyStatus; -}; - -/** The copy ID response header. */ -alias CopyIdResponseHeader = { - /** String identifier for this copy operation. Use with Get Blob Properties to check the status of this copy operation, or pass to Abort Copy Blob to abort a pending copy. */ - @header("x-ms-copy-id") - copyId?: string; -}; - -/** The source if unmodified since parameter. */ -alias SourceIfUnmodifiedSinceParameter = { - /** Specify this header value to operate only on a blob if it has not been modified since the specified date/time. */ - #suppress "@azure-tools/typespec-azure-core/known-encoding" "Existing API" - @encode("rfc7231") - @header("x-ms-source-if-unmodified-since") - sourceIfUnmodifiedSince?: utcDateTime; -}; - -/** The lease time response header. */ -alias LeaseTimeResponseHeader = { - /** Approximate time remaining in the lease period, in seconds. */ - @header("x-ms-lease-time") - leaseTime?: int32; -}; - -/** The lease break period parameter. */ -alias LeaseBreakPeriodParameter = { - /** For a break operation, proposed duration the lease should continue before it is broken, in seconds, between 0 and 60. This break period is only used if it is shorter than the time remaining on the lease. If longer, the time remaining on the lease is used. A new lease will not be available before the break period has expired, but the lease may be held for longer than the break period. If this header does not appear with a break operation, a fixed-duration lease breaks after the remaining lease period elapses, and an infinite lease breaks immediately. */ - @header("x-ms-lease-break-period") - breakPeriod?: int32; -}; - -/** The lease ID parameter. */ -alias LeaseIdOptionalParameter = { - /** If specified, the operation only succeeds if the resource's lease is active and matches this ID. */ - @header("x-ms-lease-id") leaseId?: string; -}; - -/** The lease ID required parameter. */ -alias LeaseIdRequiredParameter = { - /** Required. A lease ID for the source path. If specified, the source path must have an active lease and the lease ID must match. */ - @header("x-ms-lease-id") - leaseId: string; -}; - -/** The lease ID response header. */ -alias LeaseIdResponseHeader = { - /** Uniquely identifies a blobs' lease */ - @header("x-ms-lease-id") - leaseId?: string; -}; - -/** The request server encrypted response header. */ -alias RequestServerEncryptedResponseHeader = { - /** The value of this header is set to true if the contents of the request are successfully encrypted using the specified algorithm, and false otherwise. */ - @header("x-ms-request-server-encrypted") - isServerEncrypted?: boolean; -}; - -/** The private request server encrypted response header. */ -alias RequestServerEncryptedResponseHeaderPrivate = { - /** The value of this header is set to true if the contents of the request are successfully encrypted using the specified algorithm, and false otherwise. */ - @access(Access.internal) - @header("x-ms-request-server-encrypted") - isServerEncrypted?: boolean; -}; - -/** The server encrypted response header. */ -alias ServerEncryptedResponseHeader = { - /** The value of this header is set to true if the contents of the request are successfully encrypted using the specified algorithm, and false otherwise. */ - @header("x-ms-server-encrypted") - isServerEncrypted?: boolean; -}; - -/** The server encrypted response header. */ -alias ServerEncryptedResponseHeaderPrivate = { - /** The value of this header is set to true if the contents of the request are successfully encrypted using the specified algorithm, and false otherwise. */ - @access(Access.internal) - @header("x-ms-server-encrypted") - isServerEncrypted?: boolean; -}; - -/** The legal hold response header. */ -alias LegalHoldResponseHeader = { - /** Specifies the legal hold status to set on the blob. */ - @header("x-ms-legal-hold") - legalHold: boolean; -}; - -/** The legal hold response header. */ -alias LegalHoldResponseHeaderPrivate = { - /** Specifies the legal hold status to set on the blob. */ - @access(Access.internal) - @header("x-ms-legal-hold") - legalHold: boolean; -}; - -/** The legal hold required parameter. */ -alias LegalHoldRequiredParameter = { - /** Required. Specifies the legal hold status to set on the blob. */ - @header("x-ms-legal-hold") - legalHold: boolean; -}; - -/** The immutability policy mode response header. */ -alias ImmutabilityPolicyModeResponseHeader = { - /** Indicates the immutability policy mode of the blob. */ - @header("x-ms-immutability-policy-mode") - immutabilityPolicyMode: ImmutabilityPolicyMode; -}; - -/** The immutability policy mode response header. */ -alias ImmutabilityPolicyModeResponseHeaderPrivate = { - /** Indicates the immutability policy mode of the blob. */ - @access(Access.internal) - @header("x-ms-immutability-policy-mode") - immutabilityPolicyMode: ImmutabilityPolicyMode; -}; - -/** The blob sequence number response header. */ -alias BlobSequenceNumberResponseHeader = { - /** The current sequence number for a page blob. This header is not returned for block blobs or append blobs. */ - @header("x-ms-blob-sequence-number") - blobSequenceNumber: int64; -}; - -/** The private blob sequence number response header. */ -alias BlobSequenceNumberResponseHeaderPrivate = { - /** The current sequence number for a page blob. This header is not returned for block blobs or append blobs. */ - @access(Access.internal) - @header("x-ms-blob-sequence-number") - blobSequenceNumber: int64; -}; - -/** The blob expiration options parameter. */ -alias BlobExpiryOptionsParameter = { - /** Required. Indicates mode of the expiry time */ - @header("x-ms-expiry-option") - expiryOptions: BlobExpiryOptions; -}; - -/** The blob expiration options. */ -union BlobExpiryOptions { - /** Never expire. */ - NeverExpire: "NeverExpire", - - /** Relative to creation time. */ - RelativeToCreation: "RelativeToCreation", - - /** Relative to now. */ - RelativeToNow: "RelativeToNow", - - /** Absolute time. */ - Absolute: "Absolute", - - /** Extensible */ - string, -} - -/** The Content-Language response header. */ -alias ContentLanguageResponseHeader = { - /** This header returns the value that was specified for the Content-Language request header. */ - @header("Content-Language") contentLanguage: string; -}; - -/** The Content-Disposition response header. */ -alias ContentDispositionResponseHeader = { - /** This header returns the value that was specified for the 'x-ms-blob-content-disposition' header. The Content-Disposition response header field conveys additional information about how to process the response payload, and also can be used to attach additional metadata. For example, if set to attachment, it indicates that the user-agent should not display the response, but instead show a Save As dialog with a filename other than the blob name specified. */ - @header("Content-Disposition") contentDisposition: string; -}; - -/** The Cache-Control response header. */ -alias CacheControlResponseHeader = { - /** This header is returned if it was previously specified for the blob. */ - @header("Cache-Control") cacheControl: string; -}; - -/** The Content-Encoding response header. */ -alias ContentEncodingResponseParameter = { - /** This header returns the value that was specified for the Content-Encoding request header */ - @header("Content-Encoding") contentEncoding: string; -}; - -/** The Content-Range response header. */ -alias ContentRangeResponseHeader = { - /** Indicates the range of bytes returned in the event that the client requested a subset of the blob by setting the 'Range' request header. */ - @header("Content-Range") contentRange: string; -}; - -/** The Content-MD5 response header. */ -alias ContentMd5ResponseHeader = { - /** If the blob has an MD5 hash and this operation is to read the full blob, this response header is returned so that the client can check for message content integrity. */ - @header("Content-MD5") contentMd5: bytes; -}; - -/** The Content-Length response header. */ -alias ContentLengthResponseHeader = { - /** The number of bytes present in the response body. */ - @header("Content-Length") contentLength: int64; -}; - -/** The version ID response header. */ -alias VersionIdResponseHeader = { - /** A DateTime value returned by the service that uniquely identifies the blob. The value of this header indicates the blob version, and may be used in subsequent requests to access this version of the blob. */ - @header("x-ms-version-id") - versionId: string; -}; - -/** The private version ID response header. */ -alias VersionIdResponseHeaderPrivate = { - /** A DateTime value returned by the service that uniquely identifies the blob. The value of this header indicates the blob version, and may be used in subsequent requests to access this version of the blob. */ - @access(Access.internal) - @header("x-ms-version-id") - versionId: string; -}; - -/** The creation time response header. */ -alias CreationTimeResponseHeader = { - /** Returns the date and time the blob was created. */ - #suppress "@azure-tools/typespec-azure-core/known-encoding" "Existing API" - @encode("rfc7231") - @header("x-ms-creation-time") - creationTime: utcDateTime; -}; - -/** The last modified response header */ -alias LastModifiedResponseHeader = { - /** The date/time that the container was last modified. */ - #suppress "@azure-tools/typespec-azure-core/known-encoding" "Existing API" - @encode("rfc7231") - @header("Last-Modified") - lastModified: utcDateTime; -}; - -/** The private last modified response header */ -alias LastModifiedResponseHeaderPrivate = { - /** The date/time that the container was last modified. */ - #suppress "@azure-tools/typespec-azure-core/known-encoding" "Existing API" - @encode("rfc7231") - @access(Access.internal) - @header("Last-Modified") - lastModified: utcDateTime; -}; - -/** The Date response header */ -alias DateResponseHeader = { - /** UTC date/time value generated by the service that indicates the time at which the response was initiated */ - #suppress "@azure-tools/typespec-azure-core/known-encoding" "Existing API" - @encode("rfc7231") - @header("Date") - date: utcDateTime; -}; - -/** The private Date response header */ -alias DateResponseHeaderPrivate = { - /** UTC date/time value generated by the service that indicates the time at which the response was initiated */ - #suppress "@azure-tools/typespec-azure-core/known-encoding" "Existing API" - @encode("rfc7231") - @access(Access.internal) - @header("Date") - date: utcDateTime; -}; - -/** The ETag response header */ -alias EtagResponseHeader = { - /** The ETag contains a value that you can use to perform operations conditionally. */ - @header("ETag") eTag: string; -}; - -/** The private ETag response header */ -alias EtagResponseHeaderPrivate = { - /** The ETag contains a value that you can use to perform operations conditionally. */ - @access(Access.internal) - @header("ETag") - eTag: string; -}; - -/** The copy source tags header parameter. */ -alias CopySourceTagsParameter = { - /** Optional, default 'replace'. Indicates if source tags should be copied or replaced with the tags specified by x-ms-tags. */ - @header("x-ms-copy-source-tag-option") - copySourceTags?: BlobCopySourceTags; -}; - -/** The blob copy source tags types. */ -#suppress "@azure-tools/typespec-azure-core/no-enum" "Existing API" -enum BlobCopySourceTags { - /** The replace blob source tags option. */ - Replace: "REPLACE", - - /** The copy blob source tags option. */ - Copy: "COPY", -} - -/** The copy source authorization header parameter */ -alias CopySourceAuthorizationParameter = { - /** Only Bearer type is supported. Credentials should be a valid OAuth access token to copy source. */ - @header("x-ms-copy-source-authorization") - copySourceAuthorization?: string; -}; - -alias SourceEncryptionKeyParameter = { - /** Optional. Specifies the source encryption key to use to encrypt the source data provided in the request. */ - @added(Versions.v2026_04_06) - @header("x-ms-source-encryption-key") - sourceEncryptionKey?: string; -}; - -alias SourceEncryptionKeySha256Parameter = { - /** The SHA-256 hash of the provided source encryption key. Must be provided if the x-ms-source-encryption-key header is provided. */ - @added(Versions.v2026_04_06) - @header("x-ms-source-encryption-key-sha256") - sourceEncryptionKeySha256?: string; -}; - -alias SourceEncryptionAlgorithmParameter = { - /** The algorithm used to produce the source encryption key hash. Currently, the only accepted value is "AES256". Must be provided if the x-ms-source-encryption-key is provided. */ - @added(Versions.v2026_04_06) - @header("x-ms-source-encryption-algorithm") - sourceEncryptionAlgorithm?: EncryptionAlgorithmType; -}; - -/** The copy source blob properties parameter. */ -alias CopySourceBlobPropertiesParameter = { - /** Optional, default is true. Indicates if properties from the source blob should be copied. */ - @header("x-ms-copy-source-blob-properties") - copySourceBlobProperties?: boolean; -}; - -/** The copy source header parameter. */ -alias CopySourceParameter = { - /** Specifies the name of the source page blob snapshot. This value is a URL of up to 2 KB in length that specifies a page blob snapshot. The value should be URL-encoded as it would appear in a request URI. The source blob must either be public or must be authenticated via a shared access signature. */ - @header("x-ms-copy-source") - copySource: string; -}; - -/** The source content MD5 header parameter. */ -alias SourceContentMd5Parameter = { - /** Specify the md5 calculated for the range of bytes that must be read from the copy source. */ - @header("x-ms-source-content-md5") - sourceContentMd5?: bytes; -}; - -/** The source if tags parameter. */ -alias SourceIfTagsParameter = { - /** Specify a SQL where clause on blob tags to operate only on blobs with a matching value. */ - @header("x-ms-source-if-tags") - sourceIfTags?: string; -}; - -/** The source if match parameter. */ -alias SourceIfMatchParameter = { - /** Specify an ETag value to operate only on blobs with a matching value. */ - @header("x-ms-source-if-match") - sourceIfMatch?: string; -}; - -/** The source if none match parameter. */ -alias SourceIfNoneMatchParameter = { - /** Specify this header value to operate only on a blob if it has been modified since the specified date/time. */ - @header("x-ms-source-if-none-match") - sourceIfNoneMatch?: string; -}; - -/** The source if modified since parameter. */ -alias SourceIfModifiedSinceParameter = { - /** Specify this header value to operate only on a blob if it has been modified since the specified date/time. */ - #suppress "@azure-tools/typespec-azure-core/known-encoding" "Existing API" - @header("x-ms-source-if-modified-since") - @encode("rfc7231") - sourceIfModifiedSince?: utcDateTime; -}; - -/** The content CRC64 parameter. */ -alias ContentCrc64Parameter = { - /** Specify the transactional crc64 for the body, to be validated by the service. */ - @clientName("transactionalContentCrc64") - @header("x-ms-content-crc64") - contentCrc64?: bytes; -}; - -/** The access tier optional parameter. */ -alias AccessTierHeader = { - /** The tier to be set on the blob. */ - @header("x-ms-access-tier") - tier?: AccessTier; -}; - -/** The content MD5 parameter. */ -alias ContentMd5Parameter = { - /** Optional. An MD5 hash of the blob content. Note that this hash is not validated, as the hashes for the individual blocks were validated when each was uploaded. */ - @clientName("transactionalContentMD5") - @header("Content-MD5") - contentMd5?: bytes; -}; - -/** The legal hold optional parameter. */ -alias LegalHoldOptionalParameter = { - /** Specified if a legal hold should be set on the blob. */ - @header("x-ms-legal-hold") - legalHold?: boolean; -}; - -/** The immutability policy mode parameter. */ -alias ImmutabilityPolicyModeParameter = { - /** Specifies the immutability policy mode to set on the blob. */ - @header("x-ms-immutability-policy-mode") - immutabilityPolicyMode?: ImmutabilityPolicyMode; -}; - -/** The immutability policy expiration parameter. */ -alias ImmutabilityPolicyExpiryRequiredParameter = { - /** Specifies the date time when the blobs immutability policy is set to expire. */ - #suppress "@azure-tools/typespec-azure-core/known-encoding" "Existing API" - @encode("rfc7231") - @header("x-ms-immutability-policy-until-date") - immutabilityPolicyExpiry: utcDateTime; -}; - -/** The immutability policy expiration parameter. */ -alias ImmutabilityPolicyExpiryParameter = { - /** Specifies the date time when the blobs immutability policy is set to expire. */ - #suppress "@azure-tools/typespec-azure-core/known-encoding" "Existing API" - @encode("rfc7231") - @header("x-ms-immutability-policy-until-date") - immutabilityPolicyExpiry?: utcDateTime; -}; - -/** The blobs tags header parameter. */ -alias BlobTagsHeaderParameter = { - /** Optional. Used to set blob tags in various blob operations. */ - @clientName("BlobTagsString") - @header("x-ms-tags") - blobTags?: string; -}; - -/** The encryption scope parameter. */ -alias EncryptionScopeParameter = { - /** Optional. Version 2019-07-07 and later. Specifies the encryption scope to use to encrypt the data provided in the request. If not specified, the request will be encrypted with the root account key. */ - @header("x-ms-encryption-scope") - encryptionScope?: string; -}; - -/** The encryption scope response header. */ -alias EncryptionScopeResponseHeader = { - /** If the blob has a MD5 hash, and if request contains range header (Range or x-ms-range), this response header is returned with the value of the whole blob's MD5 value. This value may or may not be equal to the value returned in Content-MD5 header, with the latter calculated from the requested range */ - @header("x-ms-encryption-scope") - encryptionScope?: string; -}; - -/** The private encryption scope response header. */ -alias EncryptionScopeResponseHeaderPrivate = { - /** If the blob has a MD5 hash, and if request contains range header (Range or x-ms-range), this response header is returned with the value of the whole blob's MD5 value. This value may or may not be equal to the value returned in Content-MD5 header, with the latter calculated from the requested range */ - @access(Access.internal) - @header("x-ms-encryption-scope") - encryptionScope?: string; -}; - -/** The blob content disposition parameter. */ -alias BlobContentDispositionParameter = { - /** Optional. Sets the blob's content disposition. If specified, this property is stored with the blob and returned with a read request. */ - @header("x-ms-blob-content-disposition") - blobContentDisposition?: string; -}; - -/** The blob cache control parameter. */ -alias BlobCacheControlParameter = { - /** Optional. Sets the blob's cache control. If specified, this property is stored with the blob and returned with a read request. */ - @header("x-ms-blob-cache-control") - blobCacheControl?: string; -}; - -/** The blob content MD5 parameter. */ -alias BlobContentMd5Parameter = { - /** Optional. An MD5 hash of the blob content. Note that this hash is not validated, as the hashes for the individual blocks were validated when each was uploaded. */ - @header("x-ms-blob-content-md5") - blobContentMd5?: bytes; -}; - -/** The blob content MD5 response header. */ -alias BlobContentMd5ResponseHeader = { - /** If the blob has a MD5 hash, and if request contains range header (Range or x-ms-range), this response header is returned with the value of the whole blob's MD5 value. This value may or may not be equal to the value returned in Content-MD5 header, with the latter calculated from the requested range */ - @header("x-ms-blob-content-md5") - blobContentMd5?: bytes; -}; - -/** The blob content type parameter. */ -alias BlobContentLanguageParameter = { - /** Optional. Set the blob's content language. If specified, this property is stored with the blob and returned with a read request. */ - @header("x-ms-blob-content-language") - blobContentLanguage?: string; -}; - -/** The blob content type parameter. */ -alias BlobContentEncodingParameter = { - /** Optional. Sets the blob's content encoding. If specified, this property is stored with the blob and returned with a read request. */ - @header("x-ms-blob-content-encoding") - blobContentEncoding?: string; -}; - -/** The blob content type parameter. */ -alias BlobContentTypeParameter = { - /** Optional. Sets the blob's content type. If specified, this property is stored with the blob and returned with a read request. */ - @header("x-ms-blob-content-type") - blobContentType?: string; -}; - -/** The premium page blob access tier types. */ -union PremiumPageBlobAccessTier { - /** The premium page blob access tier is P4. */ - P4: "P4", - - /** The premium page blob access tier is P6. */ - P6: "P6", - - /** The premium page blob access tier is P10. */ - P10: "P10", - - /** The premium page blob access tier is P15. */ - P15: "P15", - - /** The premium page blob access tier is P20. */ - P20: "P20", - - /** The premium page blob access tier is P30. */ - P30: "P30", - - /** The premium page blob access tier is P40. */ - P40: "P40", - - /** The premium page blob access tier is P50. */ - P50: "P50", - - /** The premium page blob access tier is P60. */ - P60: "P60", - - /** The premium page blob access tier is P70. */ - P70: "P70", - - /** The premium page blob access tier is P80. */ - P80: "P80", - - /** Extensible */ - string, -} - -/** The type of blob deletions. */ -#suppress "@azure-tools/typespec-azure-core/no-enum" "Existing API" -enum BlobDeleteType { - /** Permanently delete the blob. */ - Permanent: "Permanent", -} - -/** The delete snapshots option type. */ -#suppress "@azure-tools/typespec-azure-core/no-enum" "Existing API" -enum DeleteSnapshotsOptionType { - /** The delete snapshots include option is only. */ - Only: "only", - - /** The delete snapshots include option is include. */ - Include: "include", -} - -/** The encryption algorithm parameter. */ -alias EncryptionAlgorithmParameter = { - /** Optional. Version 2019-07-07 and later. Specifies the algorithm to use for encryption. If not specified, the default is AES256. */ - @header("x-ms-encryption-algorithm") - encryptionAlgorithm?: EncryptionAlgorithmType; -}; - -/** The algorithm used to produce the encryption key hash. Currently, the only accepted value is \"AES256\". Must be provided if the x-ms-encryption-key header is provided. */ -#suppress "@azure-tools/typespec-azure-core/no-enum" "Existing API" -enum EncryptionAlgorithmType { - /** The AES256 encryption algorithm. */ - AES256: "AES256", -} - -/** The encryption key SHA256 hash parameter. */ -alias EncryptionKeySha256Parameter = { - /** Optional. Version 2019-07-07 and later. Specifies the SHA256 hash of the encryption key used to encrypt the data provided in the request. This header is only used for encryption with a customer-provided key. If the request is authenticated with a client token, this header should be specified using the SHA256 hash of the encryption key. */ - @header("x-ms-encryption-key-sha256") - encryptionKeySha256?: string; -}; - -/** The encryption key SHA256 response header. */ -alias EncryptionKeySha256ResponseHeader = { - /** The SHA-256 hash of the encryption key used to encrypt the blob. This header is only returned when the blob was encrypted with a customer-provided key. */ - @header("x-ms-encryption-key-sha256") - encryptionKeySha256?: string; -}; - -/** The private encryption key SHA256 response header. */ -alias EncryptionKeySha256ResponseHeaderPrivate = { - /** The SHA-256 hash of the encryption key used to encrypt the blob. This header is only returned when the blob was encrypted with a customer-provided key. */ - @access(Access.internal) - @header("x-ms-encryption-key-sha256") - encryptionKeySha256?: string; -}; - -/** The encryption key parameter. */ -alias EncryptionKeyParameter = { - /** Optional. Version 2019-07-07 and later. Specifies the encryption key to use to encrypt the data provided in the request. If not specified, the request will be encrypted with the root account key. */ - @header("x-ms-encryption-key") - encryptionKey?: string; -}; - -alias AccessTierIfModifiedSinceParameter = { - /** Specify this header value to operate only on a blob if the access-tier has been modified since the specified date/time. */ - @added(Versions.v2026_04_06) - @header("x-ms-access-tier-if-modified-since") - @encode("rfc7231") - accessTierIfModifiedSince?: utcDateTime; -}; - -alias AccessTierIfUnmodifiedSinceParameter = { - /** Specify this header value to operate only on a blob if the access-tier has not been modified since the specified date/time. */ - @added(Versions.v2026_04_06) - @header("x-ms-access-tier-if-unmodified-since") - @encode("rfc7231") - accessTierIfUnmodifiedSince?: utcDateTime; -}; - -/** The If-Tags parameters. */ -alias IfTagsParameter = { - /** Specify a SQL where clause on blob tags to operate only on blobs with a matching value. */ - @header("x-ms-if-tags") - ifTags?: string; -}; - -/** The If-Match parameter. */ -alias IfMatchParameter = { - /** A condition that must be met in order for the request to be processed. */ - @header("If-Match") - ifMatch?: string; -}; - -/** The If-None-Match parameter. */ -alias IfNoneMatchParameter = { - /** A condition that must be met in order for the request to be processed. */ - @header("If-None-Match") - ifNoneMatch?: string; -}; - -/** The range parameter. */ -alias RangeParameter = { - /** Return only the bytes of the blob in the specified range. */ - @header("Range") - range?: string; -}; - -/** The version ID parameter. */ -alias VersionIdParameter = { - /** The version id parameter is an opaque DateTime value that, when present, specifies the version of the blob to operate on. It's for service version 2019-10-10 and newer. */ - @query - @clientName("versionId") - versionid?: string; -}; - -/** The snapshot parameter. */ -alias SnapshotParameter = { - @doc("The snapshot parameter is an opaque DateTime value that, when present, specifies the blob snapshot to retrieve. For more information on working with blob snapshots, see Creating a Snapshot of a Blob.") - @query - snapshot?: string; -}; - -/** Represents a blob name. */ -model BlobName { - /** Whether the blob name is encoded. */ - @Xml.attribute - @Xml.name("Encoded") - encoded?: boolean; - - /** The blob name. */ - @Xml.unwrapped content?: string; -} - -/** Represents a blob prefix. */ -model BlobPrefix { - /** The blob name. */ - @Xml.name("Name") name: BlobName; -} - -/** Represents an array of blobs. */ -model BlobHierarchyListSegment { - /** The blob items */ - @pageItems - @Xml.name("Blob") - @Xml.unwrapped - blobItems: BlobItemInternal[]; - - /** The blob prefixes. */ - @Xml.name("BlobPrefix") - @Xml.unwrapped - blobPrefixes?: BlobPrefix[]; -} - -/** An enumeration of blobs */ -@Xml.name("EnumerationResults") -model ListBlobsHierarchySegmentResponse { - /** The service endpoint. */ - @Xml.attribute - @Xml.name("ServiceEndpoint") - serviceEndpoint: string; - - /** The container name. */ - @Xml.attribute - @Xml.name("ContainerName") - containerName: string; - - /** The delimiter of the blobs. */ - @Xml.name("Delimiter") delimiter?: string; - - /** The prefix of the blobs. */ - @Xml.name("Prefix") prefix?: string; - - /** The marker of the blobs. */ - @Xml.name("Marker") marker?: string; - - /** The max results of the blobs. */ - @Xml.name("MaxResults") maxResults?: int32; - - /** The blob segment. */ - @Xml.name("Blobs") - segment: BlobHierarchyListSegment; - - /** The next marker of the blobs. */ - @continuationToken - @Xml.name("NextMarker") - nextMarker?: string; -} - -/** The list blob includes parameter. */ -alias ListBlobsIncludeParameter = { - /** Include this parameter to specify one or more datasets to include in the response. */ - @query - include?: ListBlobsIncludeItem[]; -}; - -/** The list blob includes parameter values. */ -#suppress "@azure-tools/typespec-azure-core/no-enum" "Existing API" -enum ListBlobsIncludeItem { - /** The include copies. */ - Copy: "copy", - - /** The include deleted blobs. */ - Deleted: "deleted", - - /** The include metadata. */ - Metadata: "metadata", - - /** The include snapshots. */ - Snapshots: "snapshots", - - /** The include uncommitted blobs. */ - UncommittedBlobs: "uncommittedblobs", - - /** The include versions. */ - Versions: "versions", - - /** The include tags. */ - Tags: "tags", - - /** The include immutable policy. */ - ImmutabilityPolicy: "immutabilitypolicy", - - /** The include legal hold. */ - LegalHold: "legalhold", - - /** The include deleted with versions. */ - DeletedWithVersions: "deletedwithversions", -} - -/** The lease duration parameter. */ -alias LeaseDurationResponseHeader = { - /** Specifies the duration of the lease, in seconds, or negative one (-1) for a lease that never expires. A non-infinite lease can be between 15 and 60 seconds. A lease duration cannot be changed using renew or change. */ - @header("x-ms-lease-duration") - duration?: LeaseDuration; -}; - -/** The lease duration parameter. */ -alias LeaseDurationHeaderParameter = { - /** Specifies the duration of the lease, in seconds, or negative one (-1) for a lease that never expires. A non-infinite lease can be between 15 and 60 seconds. A lease duration cannot be changed using renew or change. */ - @header("x-ms-lease-duration") - duration: int32; -}; - -// NOTE: This does not explicitly let emitters know that this is a collection header for metadata. Logic should be handwritten to handle this. -alias MetadataHeadersParameter = { - /** The metadata headers. */ - @alternateType(Record, "rust") - @header("x-ms-meta") - metadata: string; -}; - -// NOTE: This does not explicitly let emitters know that this is a collection header for metadata. Logic should be handwritten to handle this. -alias MetadataHeaders = { - /** The metadata headers. */ - @alternateType(Record, "rust") - @header("x-ms-meta") - metadata?: string; -}; - -// NOTE: this does not explicitly let emitters know that this is a special type of header used for collection of object replication headers. Logic should be handwritten to handle this. -alias ObjectReplicationHeaders = { - /** Optional. Only valid when Object Replication is enabled for the storage container and on the source blob of the replication. When retrieving this header, it will return the header with the policy id and rule id (e.g. x-ms-or-policyid_ruleid), and the value will be the status of the replication (e.g. complete, failed). */ - @alternateType(Record, "rust") - @header("x-ms-or") - objectReplicationRules?: string; -}; - -/** The If-Unmodified-Since header. */ -alias IfUnmodifiedSinceParameter = { - /** A date-time value. A request is made under the condition that the resource has not been modified since the specified date-time. */ - #suppress "@azure-tools/typespec-azure-core/known-encoding" "Existing API" - @encode("rfc7231") - @header("If-Unmodified-Since") - ifUnmodifiedSince?: utcDateTime; -}; - -/** The If-Modified-Since header. */ -alias IfModifiedSinceParameter = { - /** A date-time value. A request is made under the condition that the resource has been modified since the specified date-time. */ - #suppress "@azure-tools/typespec-azure-core/known-encoding" "Existing API" - @encode("rfc7231") - @header("If-Modified-Since") - ifModifiedSince?: utcDateTime; -}; - -/** The filter blobs include parameter. */ -alias FilterBlobsIncludeParameter = { - /** Include this parameter to specify one or more datasets to include in the response. */ - @query - include?: FilterBlobsIncludeItem[]; -}; - -/** The filter blobs where parameter. */ -alias FilterBlobsWhereParameter = { - /** Filters the results to return only to return only blobs whose tags match the specified expression. */ - @query - @clientName("filterExpression") - where: string; -}; - -/** The Content-Length header. */ -alias ContentLengthParameter = { - /** The length of the request. */ - @header("Content-Length") contentLength: int64; -}; - -/** The max results parameter. */ -alias MaxResultsParameter = { - /** Specifies the maximum number of containers to return. If the request does not specify maxresults, or specifies a value greater than 5000, the server will return up to 5000 items. */ - @query - @minValue(1) - maxresults?: int32; -}; - -/** The marker parameter. */ -alias MarkerParameter = { - /** A string value that identifies the portion of the list of containers to be returned with the next listing operation. The operation returns the NextMarker value within the response body if the listing operation did not return all containers remaining to be listed with the current page. The NextMarker value can be used as the value for the marker parameter in a subsequent call to request the next page of list items. The marker value is opaque to the client. */ - @continuationToken - @query - marker?: string; -}; - -/** The prefix parameter. */ -alias PrefixParameter = { - /** Filters the results to return only containers whose name begins with the specified prefix. */ - @query prefix?: string; -}; - -/** The timeout parameter. */ -alias TimeoutParameter = { - @doc("The timeout parameter is expressed in seconds. For more information, see Setting Timeouts for Blob Service Operations.") - @query - @minValue(0) - timeout?: int32; -}; - -/** The required lease ID header. */ -alias ProposedLeaseIdRequiredParameter = { - /** Required. The proposed lease ID for the container. */ - @header("x-ms-proposed-lease-id") proposedLeaseId: string; -}; - -/** The optional lease ID header. */ -alias ProposedLeaseIdOptionalParameter = { - /** Optional. The proposed lease ID for the container. */ - @header("x-ms-proposed-lease-id") proposedLeaseId?: string; -}; - -/** The body parameter. */ -alias BodyParameter = { - /** The body of the request. */ - @body - body: bytes; -}; - -/** The multipart body parameter. */ -alias MultipartBodyParameter = { - /** The body of the request. */ - @multipartBody body: { - name: HttpPart; - body: HttpPart; - }; -}; - -alias IsHierarchicalNamespaceEnabled = { - /** Version 2019-07-07 and newer. Indicates if the account has a hierarchical namespace enabled. */ - @header("x-ms-is-hns-enabled") - isHierarchicalNamespaceEnabled?: boolean; -}; - -alias StructuredBodyTypeResponseHeader = { - /** Indicates the response body contains a structured message and specifies the message schema version and properties. */ - @access(Access.internal) - @header("x-ms-structured-body") - structuredBodyType?: string; -}; - -alias StructuredContentLengthParameter = { - /** Required if the request body is a structured message. Specifies the length of the blob/file content inside the message body. Will always be smaller than Content-Length. */ - @header("x-ms-structured-content-length") - structuredContentLength?: int64; -}; - -alias StructuredContentLengthResponseHeader = { - /** The length of the blob/file content inside the message body when the response body is returned as a structured message. Will always be smaller than Content-Length. */ - @access(Access.internal) - @header("x-ms-structured-content-length") - structuredContentLength?: int64; -}; - -alias StructuredBodyParameter = { - /** Required if the request body is a structured message. Specifies the message schema version and properties. */ - @access(Access.internal) - @header("x-ms-structured-body") - structuredBodyType?: string; -}; - -/** The file share token intent types. */ -union FileShareTokenIntent { - /** The file share token intent is backup. */ - Backup: "backup", - - /** Extensible */ - string, -} - -alias FileRequestIntentParameter = { - /** Valid value is backup */ - @header("x-ms-file-request-intent") - fileRequestIntent?: FileShareTokenIntent; -}; - -alias ClientRequestIdHeader = { - @access(Access.internal) - @header("x-ms-client-request-id") - @doc("An opaque, globally-unique, client-generated string identifier for the request.") - clientRequestId?: uuid; -}; - -alias RequestIdResponseHeader = { - @access(Access.internal) - @visibility(Lifecycle.Read) - @header("x-ms-request-id") - @doc("An opaque, globally-unique, server-generated string identifier for the request.") - requestId?: uuid; -}; - -alias LeaseActionParameter = { - /** Describes what lease action to take. */ - @header("x-ms-lease-action") - action: TAction; -}; - -alias PageWriteParameter = { - /** Required. You may specify one of the following options:\n - Update: Writes the bytes specified by the request body into the specified range. The Range and Content-Length headers must match to perform the update.\n - Clear: Clears the specified range and releases the space used in storage for that range. To clear a range, set the Content-Length header to zero, and the Range header to a value that indicates the range to clear, up to maximum blob size. */ - @header("x-ms-page-write") - pageWrite: TPageWrite; -}; - -alias IfBlobMatchHeader = { - /** Specify an ETag value to operate only on blobs with a matching value. */ - @added(Versions.v2026_02_06) - @header("x-ms-blob-if-match") - ifMatch?: string; -}; - -alias IfBlobModifiedSinceHeader = { - /** Specify this header value to operate only on a blob if it has been modified since the specified date/time. */ - @added(Versions.v2026_02_06) - @header("x-ms-blob-if-modified-since") - @encode("rfc7231") - ifModifiedSince?: utcDateTime; -}; - -alias IfBlobNoneMatchHeader = { - /** Specify an ETag value to operate only on blobs without a matching value. */ - @added(Versions.v2026_02_06) - @header("x-ms-blob-if-none-match") - ifNoneMatch?: string; -}; - -alias IfBlobUnmodifiedSinceHeader = { - /** Specify this header value to operate only on a blob if it has not been modified since the specified date/time. */ - @added(Versions.v2026_02_06) - @header("x-ms-blob-if-unmodified-since") - @encode("rfc7231") - ifUnmodifiedSince?: utcDateTime; -}; - -alias ListBlobsStartFrom = { - /** Specifies the relative path to list paths from. For non-recursive list, only one entity level is supported; For recursive list, multiple entity levels are supported. (Inclusive) */ - @added(Versions.v2026_02_06) - @query - startFrom?: string; -}; diff --git a/packages/http-client-python/alpha/Microsoft.BlobStorage/routes.tsp b/packages/http-client-python/alpha/Microsoft.BlobStorage/routes.tsp deleted file mode 100644 index 60b2986cc37..00000000000 --- a/packages/http-client-python/alpha/Microsoft.BlobStorage/routes.tsp +++ /dev/null @@ -1,2296 +0,0 @@ -import "@azure-tools/typespec-azure-core"; -import "@typespec/http"; -import "./models.tsp"; - -namespace Storage.Blob; - -using TypeSpec.Http; -using Azure.Core; -using Azure.ClientGenerator.Core; - -alias ApiVersionHeader = { - /** Specifies the version of the operation to use for this request. */ - @apiVersion - @access(Access.internal) - @header("x-ms-version") - version: string; -}; - -/** Azure Storage Blob basic operation template */ -#suppress "@azure-tools/typespec-azure-core/operation-missing-api-version" "Existing API. Storage API version parameter pre-dates current guidance." -op StorageOperation< - TParams extends TypeSpec.Reflection.Model | void, - TResponse extends TypeSpec.Reflection.Model | void, - RequestMediaType extends string = "application/xml", - ResponseMediaType extends string = "application/xml", - TError = StorageError ->( - /** Content-Type header */ - #suppress "@typespec/http/content-type-ignored" "Template for existing API" - @header("Content-Type") - contentType: RequestMediaType, - - ...ApiVersionHeader, - ...TParams, - ...ClientRequestIdHeader, -): (TResponse & { - /** Content-Type header */ - #suppress "@typespec/http/content-type-ignored" "Template for existing API" - @header("Content-Type") - contentType: ResponseMediaType; - - ...DateResponseHeaderPrivate; - ...ApiVersionHeader; - ...RequestIdResponseHeader; - ...ClientRequestIdHeader; -}) | TError; - -/** Azure Storage Blob basic operation template */ -#suppress "@azure-tools/typespec-azure-core/operation-missing-api-version" "Existing API. Storage API version parameter pre-dates current guidance." -op StorageOperationNoBody< - TParams extends TypeSpec.Reflection.Model | void, - TResponse extends TypeSpec.Reflection.Model | void, - TError = StorageError ->(...ApiVersionHeader, ...TParams, ...ClientRequestIdHeader): (TResponse & { - ...DateResponseHeaderPrivate; - ...ApiVersionHeader; - ...RequestIdResponseHeader; - ...ClientRequestIdHeader; -}) | TError; - -#suppress "@azure-tools/typespec-azure-core/operation-missing-api-version" "Existing API. Storage API version parameter pre-dates current guidance." -@client -interface Service { - /** Sets properties for a storage account's Blob service endpoint, including properties for Storage Analytics and CORS (Cross-Origin Resource Sharing) rules */ - #suppress "@azure-tools/typespec-azure-core/use-standard-operations" "Existing API" - #suppress "@azure-tools/typespec-azure-core/no-response-body" "Existing API" - @put - @route("?restype=service&comp=properties") - setProperties is StorageOperation< - { - ...TimeoutParameter; - - /** The storage service properties to set. */ - @body - storageServiceProperties: BlobServiceProperties; - }, - { - @statusCode statusCode: 202; - } - >; - - /** Retrieves properties of a storage account's Blob service, including properties for Storage Analytics and CORS (Cross-Origin Resource Sharing) rules. */ - #suppress "@azure-tools/typespec-azure-core/use-standard-operations" "Existing API" - @get - @route("?restype=service&comp=properties") - getProperties is StorageOperation; - - /** Retrieves statistics related to replication for the Blob service. It is only available on the secondary location endpoint when read-access geo-redundant replication is enabled for the storage account. */ - #suppress "@azure-tools/typespec-azure-core/use-standard-operations" "Existing API" - @get - @route("?restype=service&comp=stats") - getStatistics is StorageOperation< - TimeoutParameter, - { - /** Storage service statistics */ - @body - storageServiceStats: StorageServiceStats; - } - >; - - /** The List Containers Segment operation returns a list of the containers under the specified account */ - #suppress "@azure-tools/typespec-azure-core/use-standard-operations" "Existing API" - #suppress "@azure-tools/typespec-azure-core/use-standard-names" "Existing API" - @get - @list - @route("?comp=list") - listContainersSegment is StorageOperation< - { - ...PrefixParameter; - ...MarkerParameter; - ...MaxResultsParameter; - ...TimeoutParameter; - - /** Include this parameter to specify that the container's metadata be returned as part of the response body. */ - @query include?: Array; - }, - ListContainersSegmentResponse - >; - - /** Retrieves a user delegation key for the Blob service. This is only a valid operation when using bearer token authentication. */ - #suppress "@azure-tools/typespec-azure-core/use-standard-operations" "Existing API" - @post - @route("?restype=service&comp=userdelegationkey") - getUserDelegationKey is StorageOperation< - { - /** Key information provided in the request */ - @body - keyInfo: KeyInfo; - - ...TimeoutParameter; - }, - { - /** The user delegation key */ - @body - userDelegationKey: UserDelegationKey; - } - >; - - /** Returns the sku name and account kind. */ - #suppress "@azure-tools/typespec-azure-core/use-standard-operations" "Existing API" - #suppress "@azure-tools/typespec-azure-core/no-response-body" "Existing API" - @get - @route("?restype=account&comp=properties") - @sharedRoute - getAccountInfo is StorageOperation< - TimeoutParameter, - { - ...SkuNameResponseHeader; - ...AccountKindResponseHeader; - - /** Version 2019-07-07 and newer. Indicates if the account has a hierarchical namespace enabled. */ - @header("x-ms-is-hns-enabled") - isHierarchicalNamespaceEnabled?: boolean; - } - >; - - /** The Batch operation allows multiple API calls to be embedded into a single HTTP request. */ - #suppress "@azure-tools/typespec-azure-core/use-standard-operations" "Existing API" - #suppress "@azure-tools/typespec-azure-core/no-response-body" "Existing API" - @post - @route("?comp=batch") - submitBatch( - /** Required. The value of this header must be multipart/mixed with a batch boundary. Example header value: multipart/mixed; boundary=batch_ */ - @header("Content-Type") - multipartContentType: "multipart/mixed", - - ...ApiVersionHeader, - ...TimeoutParameter, - ...ClientRequestIdHeader, - ...ContentLengthParameter, - ...MultipartBodyParameter, - ): (MultipartBodyParameter & { - /** The media type of the body of the response. For batch requests, this is multipart/mixed; boundary=batchresponse_GUID */ - #suppress "@typespec/http/content-type-ignored" "Template for existing API" - @header("Content-Type") - contentType: "multipart/mixed"; - - ...ApiVersionHeader; - ...RequestIdResponseHeader; - ...ClientRequestIdHeader; - }) | StorageError; - - /** The Filter Blobs operation enables callers to list blobs across all containers whose tags match a given search expression. */ - #suppress "@azure-tools/typespec-azure-core/use-standard-operations" "Existing API" - #suppress "@azure-tools/typespec-azure-core/use-standard-names" "Existing API" - @get - @route("?comp=blobs") - findBlobsByTags is StorageOperation< - { - ...TimeoutParameter; - ...FilterBlobsWhereParameter; - ...MarkerParameter; - ...MaxResultsParameter; - ...FilterBlobsIncludeParameter; - }, - { - /** The filter blobs enumeration results */ - @body - enumerationResults: FilterBlobSegment; - } - >; -} - -#suppress "@azure-tools/typespec-azure-core/operation-missing-api-version" "Existing API. Storage API version parameter pre-dates current guidance." -@client -interface Container { - /** Creates a new container under the specified account. If the container with the same name already exists, the operation fails. */ - #suppress "@azure-tools/typespec-azure-core/use-standard-operations" "Existing API" - #suppress "@azure-tools/typespec-azure-core/no-response-body" "Existing API" - @put - @sharedRoute - @route("?restype=container") - create is StorageOperation< - { - ...TimeoutParameter; - ...MetadataHeaders; - ...BlobPublicAccess; - - /** Optional. Version 2019-07-07 and later. Specifies the default encryption scope to set on the container and use for all future writes. */ - @header("x-ms-default-encryption-scope") - defaultEncryptionScope?: string; - - ...DenyEncryptionScopeOverride; - }, - { - @statusCode statusCode: 201; - ...EtagResponseHeaderPrivate; - ...LastModifiedResponseHeaderPrivate; - } - >; - - /** returns all user-defined metadata and system properties for the specified container. The data returned does not include the container's list of blobs */ - #suppress "@azure-tools/typespec-azure-core/use-standard-operations" "Existing API" - #suppress "@azure-tools/typespec-azure-core/no-response-body" "Existing API" - @get - @sharedRoute - @route("?restype=container") - getProperties is StorageOperation< - { - ...TimeoutParameter; - ...LeaseIdOptionalParameter; - }, - { - ...MetadataHeaders; - ...EtagResponseHeader; - ...LastModifiedResponseHeader; - ...LeaseDurationResponseHeader; - ...LeaseStateResponseHeader; - ...LeaseStatusResponseHeader; - ...BlobPublicAccess; - - /** Indicates whether the container has an immutability policy set on it. */ - @header("x-ms-has-immutability-policy") - hasImmutabilityPolicy?: boolean; - - /** Indicates whether the container has a legal hold. */ - @header("x-ms-has-legal-hold") - hasLegalHold?: boolean; - - /** The default encryption scope for the container. */ - @header("x-ms-default-encryption-scope") - defaultEncryptionScope?: string; - - ...DenyEncryptionScopeOverride; - - /** Indicates whether version level worm is enabled on a container */ - @header("x-ms-immutable-storage-with-versioning-enabled") - isImmutableStorageWithVersioningEnabled?: boolean; - } - >; - - /** operation marks the specified container for deletion. The container and any blobs contained within it are later deleted during garbage collection */ - #suppress "@azure-tools/typespec-azure-core/use-standard-operations" "Existing API" - #suppress "@azure-tools/typespec-azure-core/no-response-body" "Existing API" - @delete - @sharedRoute - @route("?restype=container") - delete is StorageOperation< - { - ...TimeoutParameter; - ...LeaseIdOptionalParameter; - ...IfModifiedSinceParameter; - ...IfUnmodifiedSinceParameter; - }, - { - @statusCode statusCode: 202; - } - >; - - /** operation sets one or more user-defined name-value pairs for the specified container. */ - #suppress "@azure-tools/typespec-azure-core/use-standard-operations" "Existing API" - #suppress "@azure-tools/typespec-azure-core/no-response-body" "Existing API" - #suppress "@azure-tools/typespec-azure-core/use-standard-names" "Existing API" - @put - @route("?restype=container&comp=metadata") - setMetadata is StorageOperation< - { - ...TimeoutParameter; - ...LeaseIdOptionalParameter; - ...MetadataHeadersParameter; - ...IfModifiedSinceParameter; - }, - { - ...EtagResponseHeaderPrivate; - ...LastModifiedResponseHeaderPrivate; - } - >; - - /** gets the permissions for the specified container. The permissions indicate whether container data may be accessed publicly. */ - #suppress "@azure-tools/typespec-azure-core/use-standard-operations" "Existing API" - @get - @route("?restype=container&comp=acl") - getAccessPolicy is StorageOperation< - { - ...TimeoutParameter; - ...LeaseIdOptionalParameter; - }, - { - /** Signed identifiers */ - @body body: SignedIdentifiers; - - ...BlobPublicAccess; - ...EtagResponseHeader; - ...LastModifiedResponseHeader; - } - >; - - /** sets the permissions for the specified container. The permissions indicate whether blobs in a container may be accessed publicly. */ - #suppress "@azure-tools/typespec-azure-core/use-standard-operations" "Existing API" - #suppress "@azure-tools/typespec-azure-core/no-response-body" "Existing API" - #suppress "@azure-tools/typespec-azure-core/use-standard-names" "Existing API" - @put - @route("?restype=container&comp=acl") - setAccessPolicy is StorageOperation< - { - /** The access control list for the container. */ - #suppress "@azure-tools/typespec-azure-core/request-body-problem" "Existing API" - @body - containerAcl: SignedIdentifiers; - - ...TimeoutParameter; - ...LeaseIdOptionalParameter; - ...BlobPublicAccess; - ...IfModifiedSinceParameter; - ...IfUnmodifiedSinceParameter; - }, - { - ...EtagResponseHeaderPrivate; - ...LastModifiedResponseHeaderPrivate; - } - >; - - /** Restores a previously-deleted container. */ - #suppress "@azure-tools/typespec-azure-core/use-standard-operations" "Existing API" - #suppress "@azure-tools/typespec-azure-core/no-response-body" "Existing API" - #suppress "@azure-tools/typespec-azure-core/use-standard-names" "Existing API" - @put - @route("?restype=container&comp=undelete") - restore is StorageOperation< - { - /** Optional. Version 2019-12-12 and later. Specifies the name of the deleted container to restore. */ - @header("x-ms-deleted-container-name") - deletedContainerName?: string; - - /** Optional. Version 2019-12-12 and later. Specifies the version of the deleted container to restore. */ - @header("x-ms-deleted-container-version") - deletedContainerVersion?: string; - - ...TimeoutParameter; - }, - { - @statusCode statusCode: 201; - } - >; - - /** Renames an existing container. */ - #suppress "@azure-tools/typespec-azure-core/use-standard-operations" "Existing API" - #suppress "@azure-tools/typespec-azure-core/no-response-body" "Existing API" - #suppress "@azure-tools/typespec-azure-core/use-standard-names" "Existing API" - @put - @route("?restype=container&comp=rename") - rename is StorageOperation< - { - /** Required. Specifies the name of the container to rename. */ - @header("x-ms-source-container-name") - sourceContainerName: string; - - /** A lease ID for the source path. If specified, the source path must have an active lease and the lease ID must match. */ - @header("x-ms-source-lease-id") - sourceLeaseId?: string; - - ...TimeoutParameter; - }, - {} - >; - - /** The Batch operation allows multiple API calls to be embedded into a single HTTP request. */ - #suppress "@azure-tools/typespec-azure-core/use-standard-operations" "Existing API" - #suppress "@azure-tools/typespec-azure-core/no-response-body" "Existing API" - @post - @route("?restype=container&comp=batch") - submitBatch( - /** The batch request content */ - ...MultipartBodyParameter, - - /** Required. The value of this header must be multipart/mixed with a batch boundary. Example header value: multipart/mixed; boundary=batch_ */ - @header("Content-Type") - multipartContentType: "multipart/mixed", - - ...ContentLengthParameter, - ...TimeoutParameter, - ...ApiVersionHeader, - ...ClientRequestIdHeader, - ): ({ - @statusCode statusCode: 202; - - /** Required. The value of this header must be multipart/mixed with a batch boundary. Example header value: multipart/mixed; boundary=batch_ */ - @header("Content-Type") - multipartContentType: "multipart/mixed"; - - ...RequestIdResponseHeader; - ...ApiVersionHeader; - } & MultipartBodyParameter) | StorageError; - - /** The Filter Blobs operation enables callers to list blobs in a container whose tags match a given search expression. Filter blobs searches within the given container. */ - #suppress "@azure-tools/typespec-azure-core/use-standard-operations" "Existing API" - #suppress "@azure-tools/typespec-azure-core/use-standard-names" "Existing API" - @get - @route("?restype=container&comp=blobs") - findBlobsByTags is StorageOperation< - { - ...TimeoutParameter; - ...FilterBlobsWhereParameter; - ...MarkerParameter; - ...MaxResultsParameter; - ...FilterBlobsIncludeParameter; - }, - { - /** The container filter blob enumeration results */ - @body - enumerationResults: FilterBlobSegment; - } - >; - - /** The Acquire Lease operation requests a new lease on a container. The lease lock duration can be 15 to 60 seconds, or can be infinite. */ - #suppress "@azure-tools/typespec-azure-core/use-standard-operations" "Existing API" - #suppress "@azure-tools/typespec-azure-core/no-response-body" "Existing API" - #suppress "@azure-tools/typespec-azure-core/use-standard-names" "Existing API" - @put - @sharedRoute - @route("?comp=lease&restype=container") - acquireLease is StorageOperationNoBody< - { - ...LeaseDurationHeaderParameter; - ...TimeoutParameter; - ...ProposedLeaseIdOptionalParameter; - ...IfModifiedSinceParameter; - ...IfUnmodifiedSinceParameter; - ...LeaseActionParameter<"acquire">; - }, - { - @statusCode statusCode: 201; - ...LeaseIdResponseHeader; - ...EtagResponseHeader; - ...LastModifiedResponseHeader; - } - >; - - /** The Release Lease operation frees the lease if it's no longer needed, so that another client can immediately acquire a lease against the container. */ - #suppress "@azure-tools/typespec-azure-core/use-standard-operations" "Existing API" - #suppress "@azure-tools/typespec-azure-core/no-response-body" "Existing API" - #suppress "@azure-tools/typespec-azure-core/use-standard-names" "Existing API" - @put - @sharedRoute - @route("?comp=lease&restype=container") - releaseLease is StorageOperation< - { - ...LeaseIdRequiredParameter; - ...TimeoutParameter; - ...IfModifiedSinceParameter; - ...IfUnmodifiedSinceParameter; - ...LeaseActionParameter<"release">; - }, - { - ...EtagResponseHeader; - ...LastModifiedResponseHeader; - } - >; - - /** The Renew Lease operation renews an existing lease. */ - #suppress "@azure-tools/typespec-azure-core/use-standard-operations" "Existing API" - #suppress "@azure-tools/typespec-azure-core/no-response-body" "Existing API" - #suppress "@azure-tools/typespec-azure-core/use-standard-names" "Existing API" - @put - @sharedRoute - @route("?comp=lease&restype=container") - renewLease is StorageOperation< - { - ...LeaseIdRequiredParameter; - ...TimeoutParameter; - ...IfModifiedSinceParameter; - ...IfUnmodifiedSinceParameter; - ...LeaseActionParameter<"renew">; - }, - { - ...LeaseIdResponseHeader; - ...EtagResponseHeader; - ...LastModifiedResponseHeader; - } - >; - - /** The Break Lease operation ends a lease and ensures that another client can't acquire a new lease until the current lease period has expired. */ - #suppress "@azure-tools/typespec-azure-core/use-standard-operations" "Existing API" - #suppress "@azure-tools/typespec-azure-core/no-response-body" "Existing API" - @put - @sharedRoute - @route("?comp=lease&restype=container") - breakLease is StorageOperation< - { - ...TimeoutParameter; - ...IfModifiedSinceParameter; - ...IfUnmodifiedSinceParameter; - ...LeaseBreakPeriodParameter; - ...LeaseActionParameter<"break">; - }, - { - @statusCode statusCode: 202; - ...LeaseTimeResponseHeader; - ...EtagResponseHeader; - ...LastModifiedResponseHeader; - } - >; - - /** The Change Lease operation is used to change the ID of an existing lease. */ - #suppress "@azure-tools/typespec-azure-core/use-standard-operations" "Existing API" - #suppress "@azure-tools/typespec-azure-core/no-response-body" "Existing API" - #suppress "@azure-tools/typespec-azure-core/use-standard-names" "Existing API" - @put - @sharedRoute - @route("?comp=lease&restype=container") - changeLease is StorageOperation< - { - ...LeaseIdRequiredParameter; - ...ProposedLeaseIdRequiredParameter; - ...TimeoutParameter; - ...IfModifiedSinceParameter; - ...IfUnmodifiedSinceParameter; - ...LeaseActionParameter<"change">; - }, - { - ...LeaseIdResponseHeader; - ...EtagResponseHeader; - ...LastModifiedResponseHeader; - } - >; - - /** The List Blobs operation returns a list of the blobs under the specified container. */ - #suppress "@azure-tools/typespec-azure-core/use-standard-operations" "Existing API" - #suppress "@azure-tools/typespec-azure-core/use-standard-names" "Existing API" - @get - @list - @sharedRoute - @route("?restype=container&comp=list") - listBlobFlatSegment is StorageOperation< - { - ...PrefixParameter; - ...MarkerParameter; - ...MaxResultsParameter; - ...ListBlobsIncludeParameter; - ...TimeoutParameter; - ...ListBlobsStartFrom; - }, - { - /** The list of blobs in the container */ - @body - enumerationResults: ListBlobsFlatSegmentResponse; - } - >; - - /** The List Blobs operation returns a list of the blobs under the specified container. A delimiter can be used to traverse a virtual hierarchy of blobs as though it were a file system. */ - #suppress "@azure-tools/typespec-azure-core/use-standard-operations" "Existing API" - #suppress "@azure-tools/typespec-azure-core/use-standard-names" "Existing API" - @get - @list - @sharedRoute - @route("?restype=container&comp=list") - listBlobHierarchySegment is StorageOperation< - { - /** When the request includes this parameter, the operation returns a BlobPrefix element in the response body that acts as a placeholder for all blobs whose names begin with the same substring up to the appearance of the delimiter character. The delimiter may be a single character or a string. */ - @query delimiter: string; - - ...PrefixParameter; - ...MarkerParameter; - ...MaxResultsParameter; - ...ListBlobsIncludeParameter; - ...TimeoutParameter; - ...ListBlobsStartFrom; - }, - { - /** The list of blobs in the container */ - @body - enumerationResults: ListBlobsHierarchySegmentResponse; - } - >; - - /** Returns the sku name and account kind */ - #suppress "@azure-tools/typespec-azure-core/use-standard-operations" "Existing API" - #suppress "@azure-tools/typespec-azure-core/no-response-body" "Existing API" - @get - @route("?restype=account&comp=properties") - @sharedRoute - getAccountInfo is StorageOperation< - { - ...TimeoutParameter; - }, - { - ...SkuNameResponseHeader; - ...AccountKindResponseHeader; - ...IsHierarchicalNamespaceEnabled; - } - >; -} - -#suppress "@azure-tools/typespec-azure-core/operation-missing-api-version" "Existing API. Storage API version parameter pre-dates current guidance." -@client -interface Blob { - /** The Download operation reads or downloads a blob from the system, including its metadata and properties. You can also call Download to read a snapshot. */ - #suppress "@azure-tools/typespec-azure-core/use-standard-operations" "Existing API" - #suppress "@azure-tools/typespec-azure-core/no-response-body" "Existing API" - #suppress "@azure-tools/typespec-azure-core/use-standard-names" "Existing API" - @get - download( - ...ApiVersionHeader, - ...ClientRequestIdHeader, - ...SnapshotParameter, - ...VersionIdParameter, - ...TimeoutParameter, - ...RangeParameter, - ...LeaseIdOptionalParameter, - - /** When set to true and specified together with the Range, the service returns the MD5 hash for the range, as long as the range is less than or equal to 4 MB in size. */ - @header("x-ms-range-get-content-md5") - rangeGetContentMd5?: boolean, - - /** Optional. When this header is set to true and specified together with the Range header, the service returns the CRC64 hash for the range, as long as the range is less than or equal to 4 MB in size. */ - @header("x-ms-range-get-content-crc64") - rangeGetContentCrc64?: boolean, - - /** Specifies the response content should be returned as a structured message and specifies the message schema version and properties. */ - @access(Access.internal) - @header("x-ms-structured-body") - structuredBodyType?: string, - - ...EncryptionKeyParameter, - ...EncryptionKeySha256Parameter, - ...EncryptionAlgorithmParameter, - ...IfTagsParameter, - ...ConditionalRequestHeaders, - ): (BodyParameter & { - /** The media type of the body of the response. */ - @header("Content-Type") - contentType: "application/octet-stream"; - - ...RequestIdResponseHeader; - ...ClientRequestIdHeader; - ...MetadataHeaders; - ...ObjectReplicationHeaders; - ...LastModifiedResponseHeader; - ...CreationTimeResponseHeader; - ...ObjectReplicationPolicyIdResponseHeader; - ...ContentLengthResponseHeader; - ...ContentRangeResponseHeader; - ...EtagResponseHeader; - ...ContentMd5ResponseHeader; - ...ContentEncodingResponseParameter; - ...CacheControlResponseHeader; - ...ContentDispositionResponseHeader; - ...ContentLanguageResponseHeader; - ...BlobSequenceNumberResponseHeader; - ...BlobTypeResponseHeader; - ...CopyCompletionTimeResponseHeader; - ...CopyStatusDescriptionResponseHeader; - ...CopyIdResponseHeader; - ...CopyProgressResponseHeader; - ...CopyStatusResponseHeader; - ...CopySourceResponseHeader; - ...LeaseDurationResponseHeader; - ...LeaseStateResponseHeader; - ...LeaseStatusResponseHeader; - ...VersionIdResponseHeader; - ...IsCurrentVersionResponseHeader; - ...AcceptRangesResponseHeaderPrivate; - ...DateResponseHeaderPrivate; - ...BlobCommittedBlockCountResponseHeader; - ...ServerEncryptedResponseHeader; - ...EncryptionKeySha256ResponseHeader; - ...EncryptionScopeResponseHeader; - ...BlobContentMd5ResponseHeader; - ...TagCountResponseHeader; - ...IsSealedResponseHeader; - ...LastAccessedResponseHeader; - ...ImmutabilityPolicyExpiresOnResponseHeader; - ...ImmutabilityPolicyModeResponseHeader; - ...LegalHoldResponseHeader; - ...StructuredBodyTypeResponseHeader; - ...StructuredContentLengthResponseHeader; - ...ApiVersionHeader; - }) | (BodyParameter & { - #suppress "@azure-tools/typespec-azure-core/no-closed-literal-union" "Following standard pattern" - @statusCode statusCode: 206; - - /** The media type of the body of the response. */ - @header("Content-Type") - contentType: "application/octet-stream"; - - ...RequestIdResponseHeader; - ...ClientRequestIdHeader; - ...MetadataHeaders; - ...ObjectReplicationHeaders; - ...LastModifiedResponseHeader; - ...CreationTimeResponseHeader; - ...ObjectReplicationPolicyIdResponseHeader; - ...ContentLengthResponseHeader; - ...ContentRangeResponseHeader; - ...EtagResponseHeader; - ...ContentMd5ResponseHeader; - ...ContentEncodingResponseParameter; - ...CacheControlResponseHeader; - ...ContentDispositionResponseHeader; - ...ContentLanguageResponseHeader; - ...BlobSequenceNumberResponseHeader; - ...BlobTypeResponseHeader; - ...ContentCrc64ResponseHeader; - ...CopyCompletionTimeResponseHeader; - ...CopyStatusDescriptionResponseHeader; - ...CopyIdResponseHeader; - ...CopyProgressResponseHeader; - ...CopyStatusResponseHeader; - ...CopySourceResponseHeader; - ...LeaseDurationResponseHeader; - ...LeaseStateResponseHeader; - ...LeaseStatusResponseHeader; - ...VersionIdResponseHeader; - ...IsCurrentVersionResponseHeader; - ...AcceptRangesResponseHeaderPrivate; - ...DateResponseHeaderPrivate; - ...BlobCommittedBlockCountResponseHeader; - ...ServerEncryptedResponseHeader; - ...EncryptionKeySha256ResponseHeader; - ...EncryptionScopeResponseHeader; - ...BlobContentMd5ResponseHeader; - ...TagCountResponseHeader; - ...IsSealedResponseHeader; - ...LastAccessedResponseHeader; - ...ImmutabilityPolicyExpiresOnResponseHeader; - ...ImmutabilityPolicyModeResponseHeader; - ...LegalHoldResponseHeader; - ...StructuredBodyTypeResponseHeader; - ...StructuredContentLengthResponseHeader; - ...ApiVersionHeader; - }) | StorageError; - - /** The Get Properties operation returns all user-defined metadata, standard HTTP properties, and system properties for the blob. It does not return the content of the blob. */ - #suppress "@azure-tools/typespec-azure-core/use-standard-operations" "Existing API" - #suppress "@azure-tools/typespec-azure-core/no-response-body" "Existing API" - @head - getProperties is StorageOperationNoBody< - { - ...SnapshotParameter; - ...VersionIdParameter; - ...TimeoutParameter; - ...LeaseIdOptionalParameter; - ...EncryptionKeyParameter; - ...EncryptionKeySha256Parameter; - ...EncryptionAlgorithmParameter; - ...IfModifiedSinceParameter; - ...IfUnmodifiedSinceParameter; - ...IfNoneMatchParameter; - ...IfMatchParameter; - ...IfTagsParameter; - }, - { - ...MetadataHeaders; - ...ObjectReplicationHeaders; - ...LastModifiedResponseHeader; - ...CreationTimeResponseHeader; - ...ObjectReplicationPolicyIdResponseHeader; - ...BlobTypeResponseHeader; - ...CopyCompletionTimeResponseHeader; - ...CopyStatusDescriptionResponseHeader; - ...CopyIdResponseHeader; - ...CopyProgressResponseHeader; - ...CopyStatusResponseHeader; - ...CopySourceResponseHeader; - - /** Included if the blob is incremental copy blob. */ - @header("x-ms-incremental-copy") - isIncrementalCopy?: boolean; - - /** Included if the blob is incremental copy blob or incremental copy snapshot, if x-ms-copy-status is success. Snapshot time of the last successful incremental copy snapshot for this blob. */ - @header("x-ms-copy-destination-snapshot") - destinationSnapshot?: string; - - ...LeaseDurationResponseHeader; - ...LeaseStateResponseHeader; - ...LeaseStatusResponseHeader; - ...ContentLengthResponseHeader; - ...EtagResponseHeader; - ...ContentMd5ResponseHeader; - ...ContentEncodingResponseParameter; - ...ContentDispositionResponseHeader; - ...ContentLanguageResponseHeader; - ...CacheControlResponseHeader; - ...BlobSequenceNumberResponseHeader; - ...AcceptRangesResponseHeaderPrivate; - ...BlobCommittedBlockCountResponseHeader; - ...ServerEncryptedResponseHeader; - ...EncryptionKeySha256ResponseHeader; - ...EncryptionScopeResponseHeader; - - /** The tier of page blob on a premium storage account or tier of block blob on blob storage LRS accounts. For a list of allowed premium page blob tiers, see https://learn.microsoft.com/azure/virtual-machines/disks-types#premium-ssd. For blob storage LRS accounts, valid values are Hot/Cool/Archive. */ - @header("x-ms-access-tier") - accessTier?: string; - - /** For page blobs on a premium storage account only. If the access tier is not explicitly set on the blob, the tier is inferred based on its content length and this header will be returned with true value. */ - @header("x-ms-access-tier-inferred") - accessTierInferred?: boolean; - - /** For blob storage LRS accounts, valid values are rehydrate-pending-to-hot/rehydrate-pending-to-cool. If the blob is being rehydrated and is not complete then this header is returned indicating that rehydrate is pending and also tells the destination tier. */ - @header("x-ms-archive-status") - archiveStatus?: ArchiveStatus; - - /** The time the tier was changed on the object. This is only returned if the tier on the block blob was ever set. */ - #suppress "@azure-tools/typespec-azure-core/known-encoding" "Existing API" - @encode("rfc7231") - @header("x-ms-access-tier-change-time") - accessTierChangeTime?: utcDateTime; - - ...VersionIdResponseHeader; - ...IsCurrentVersionResponseHeader; - ...TagCountResponseHeader; - ...ExpiryTimeHeader; - ...IsSealedResponseHeader; - ...RehydratePriorityHeader; - ...LastAccessedResponseHeader; - ...ImmutabilityPolicyExpiresOnResponseHeader; - ...ImmutabilityPolicyModeResponseHeader; - ...LegalHoldResponseHeader; - } - >; - - /** If the storage account's soft delete feature is disabled then, when a blob is deleted, it is permanently removed from the storage account. If the storage account's soft delete feature is enabled, then, when a blob is deleted, it is marked for deletion and becomes inaccessible immediately. However, the blob service retains the blob or snapshot for the number of days specified by the DeleteRetentionPolicy section of [Storage service properties] (Set-Blob-Service-Properties.md). After the specified number of days has passed, the blob's data is permanently removed from the storage account. Note that you continue to be charged for the soft-deleted blob's storage until it is permanently removed. Use the List Blobs API and specify the \"include=deleted\" query parameter to discover which blobs and snapshots have been soft deleted. You can then use the Undelete Blob API to restore a soft-deleted blob. All other operations on a soft-deleted blob or snapshot causes the service to return an HTTP status code of 404 (ResourceNotFound). */ - #suppress "@azure-tools/typespec-azure-core/use-standard-operations" "Existing API" - #suppress "@azure-tools/typespec-azure-core/no-response-body" "Existing API" - @delete - delete is StorageOperation< - { - ...SnapshotParameter; - ...VersionIdParameter; - ...TimeoutParameter; - ...LeaseIdOptionalParameter; - - /** Required if the blob has associated snapshots. Specify one of the following two options: include: Delete the base blob and all of its snapshots. only: Delete only the blob's snapshots and not the blob itself */ - @header("x-ms-delete-snapshots") - deleteSnapshots?: DeleteSnapshotsOptionType; - - ...IfModifiedSinceParameter; - ...IfUnmodifiedSinceParameter; - ...IfNoneMatchParameter; - ...IfMatchParameter; - ...IfTagsParameter; - - /** Optional. Only possible value is 'permanent', which specifies to permanently delete a blob if blob soft delete is enabled. */ - @query - @clientName("blobDeleteType") - deletetype?: BlobDeleteType; - - ...AccessTierIfModifiedSinceParameter; - ...AccessTierIfUnmodifiedSinceParameter; - }, - { - @statusCode statusCode: 202; - } - >; - - /** Undelete a blob that was previously soft deleted */ - #suppress "@azure-tools/typespec-azure-core/use-standard-operations" "Existing API" - #suppress "@azure-tools/typespec-azure-core/use-standard-names" "Existing API" - #suppress "@azure-tools/typespec-azure-core/no-response-body" "Existing API" - @put - @route("?comp=undelete") - undelete is StorageOperation< - { - ...TimeoutParameter; - }, - {} - >; - - /** Set the expiration time of a blob */ - #suppress "@azure-tools/typespec-azure-core/use-standard-operations" "Existing API" - #suppress "@azure-tools/typespec-azure-core/use-standard-names" "Existing API" - #suppress "@azure-tools/typespec-azure-core/no-response-body" "Existing API" - @put - @route("?comp=expiry") - setExpiry is StorageOperation< - { - ...TimeoutParameter; - ...BlobExpiryOptionsParameter; - ...ExpiryTimeHeader; - }, - { - ...EtagResponseHeader; - ...LastModifiedResponseHeader; - } - >; - - /** The Set HTTP Headers operation sets system properties on the blob. */ - #suppress "@azure-tools/typespec-azure-core/use-standard-operations" "Existing API" - #suppress "@azure-tools/typespec-azure-core/no-response-body" "Existing API" - #suppress "@azure-tools/typespec-azure-core/use-standard-names" "Existing API" - @put - @sharedRoute - @route("?comp=properties") - setProperties is StorageOperation< - { - ...TimeoutParameter; - ...BlobCacheControlParameter; - ...BlobContentTypeParameter; - ...BlobContentMd5Parameter; - ...BlobContentEncodingParameter; - ...BlobContentLanguageParameter; - ...LeaseIdOptionalParameter; - ...BlobContentDispositionParameter; - ...IfModifiedSinceParameter; - ...IfUnmodifiedSinceParameter; - ...IfNoneMatchParameter; - ...IfMatchParameter; - ...IfTagsParameter; - }, - { - ...EtagResponseHeaderPrivate; - ...LastModifiedResponseHeaderPrivate; - ...BlobSequenceNumberResponseHeaderPrivate; - } - >; - - /** Set the immutability policy of a blob */ - #suppress "@azure-tools/typespec-azure-core/use-standard-operations" "Existing API" - #suppress "@azure-tools/typespec-azure-core/no-response-body" "Existing API" - #suppress "@azure-tools/typespec-azure-core/use-standard-names" "Existing API" - @put - @route("?comp=immutabilityPolicies") - setImmutabilityPolicy is StorageOperation< - { - ...TimeoutParameter; - ...IfUnmodifiedSinceParameter; - ...ImmutabilityPolicyExpiryRequiredParameter; - ...ImmutabilityPolicyModeParameter; - ...SnapshotParameter; - ...VersionIdParameter; - }, - { - ...ImmutabilityPolicyExpiresOnResponseHeaderPrivate; - ...ImmutabilityPolicyModeResponseHeaderPrivate; - } - >; - - /** The Delete Immutability Policy operation deletes the immutability policy on the blob. */ - #suppress "@azure-tools/typespec-azure-core/use-standard-operations" "Existing API" - #suppress "@azure-tools/typespec-azure-core/no-response-body" "Existing API" - @delete - @route("?comp=immutabilityPolicies") - deleteImmutabilityPolicy is StorageOperation< - { - ...TimeoutParameter; - ...SnapshotParameter; - ...VersionIdParameter; - }, - {} - >; - - /** The Set Legal Hold operation sets a legal hold on the blob. */ - #suppress "@azure-tools/typespec-azure-core/use-standard-operations" "Existing API" - #suppress "@azure-tools/typespec-azure-core/no-response-body" "Existing API" - #suppress "@azure-tools/typespec-azure-core/use-standard-names" "Existing API" - @put - @route("?comp=legalhold") - setLegalHold is StorageOperation< - { - ...TimeoutParameter; - ...LegalHoldRequiredParameter; - ...SnapshotParameter; - ...VersionIdParameter; - }, - { - ...LegalHoldResponseHeaderPrivate; - } - >; - - /** The Set Metadata operation sets user-defined metadata for the specified blob as one or more name-value pairs. */ - #suppress "@azure-tools/typespec-azure-core/use-standard-operations" "Existing API" - #suppress "@azure-tools/typespec-azure-core/no-response-body" "Existing API" - #suppress "@azure-tools/typespec-azure-core/use-standard-names" "Existing API" - @put - @route("?comp=metadata") - setMetadata is StorageOperation< - { - ...TimeoutParameter; - ...MetadataHeadersParameter; - ...LeaseIdOptionalParameter; - ...EncryptionKeyParameter; - ...EncryptionKeySha256Parameter; - ...EncryptionAlgorithmParameter; - ...EncryptionScopeParameter; - ...IfModifiedSinceParameter; - ...IfUnmodifiedSinceParameter; - ...IfNoneMatchParameter; - ...IfMatchParameter; - ...IfTagsParameter; - }, - { - ...EtagResponseHeaderPrivate; - ...LastModifiedResponseHeaderPrivate; - ...VersionIdResponseHeaderPrivate; - ...RequestServerEncryptedResponseHeaderPrivate; - ...EncryptionKeySha256ResponseHeaderPrivate; - ...EncryptionScopeResponseHeaderPrivate; - } - >; - - /** The Acquire Lease operation requests a new lease on a blob. The lease lock duration can be 15 to 60 seconds, or can be infinite. */ - #suppress "@azure-tools/typespec-azure-core/use-standard-operations" "Existing API" - #suppress "@azure-tools/typespec-azure-core/no-response-body" "Existing API" - #suppress "@azure-tools/typespec-azure-core/use-standard-names" "Existing API" - @put - @sharedRoute - @route("?comp=lease") - acquireLease is StorageOperationNoBody< - { - ...TimeoutParameter; - ...LeaseDurationHeaderParameter; - ...ProposedLeaseIdOptionalParameter; - ...IfModifiedSinceParameter; - ...IfUnmodifiedSinceParameter; - ...IfNoneMatchParameter; - ...IfMatchParameter; - ...IfTagsParameter; - ...LeaseActionParameter<"acquire">; - }, - { - @statusCode statusCode: 201; - ...EtagResponseHeader; - ...LastModifiedResponseHeader; - ...LeaseIdResponseHeader; - } - >; - - /** The Release Lease operation frees the lease if it's no longer needed, so that another client can immediately acquire a lease against the blob. */ - #suppress "@azure-tools/typespec-azure-core/use-standard-operations" "Existing API" - #suppress "@azure-tools/typespec-azure-core/no-response-body" "Existing API" - #suppress "@azure-tools/typespec-azure-core/use-standard-names" "Existing API" - @put - @sharedRoute - @route("?comp=lease") - releaseLease is StorageOperation< - { - ...TimeoutParameter; - ...LeaseIdRequiredParameter; - ...IfModifiedSinceParameter; - ...IfUnmodifiedSinceParameter; - ...IfNoneMatchParameter; - ...IfMatchParameter; - ...IfTagsParameter; - ...LeaseActionParameter<"release">; - }, - { - ...EtagResponseHeader; - ...LastModifiedResponseHeader; - } - >; - - /** The Renew Lease operation renews an existing lease. */ - #suppress "@azure-tools/typespec-azure-core/use-standard-operations" "Existing API" - #suppress "@azure-tools/typespec-azure-core/no-response-body" "Existing API" - #suppress "@azure-tools/typespec-azure-core/use-standard-names" "Existing API" - @put - @sharedRoute - @route("?comp=lease") - renewLease is StorageOperation< - { - ...TimeoutParameter; - ...LeaseIdRequiredParameter; - ...IfModifiedSinceParameter; - ...IfUnmodifiedSinceParameter; - ...IfNoneMatchParameter; - ...IfMatchParameter; - ...IfTagsParameter; - ...LeaseActionParameter<"renew">; - }, - { - ...EtagResponseHeader; - ...LastModifiedResponseHeader; - ...LeaseIdResponseHeader; - } - >; - - /** The Change Lease operation is used to change the ID of an existing lease. */ - #suppress "@azure-tools/typespec-azure-core/use-standard-operations" "Existing API" - #suppress "@azure-tools/typespec-azure-core/no-response-body" "Existing API" - #suppress "@azure-tools/typespec-azure-core/use-standard-names" "Existing API" - @put - @sharedRoute - @route("?comp=lease") - changeLease is StorageOperation< - { - ...TimeoutParameter; - ...LeaseIdRequiredParameter; - ...ProposedLeaseIdRequiredParameter; - ...IfModifiedSinceParameter; - ...IfUnmodifiedSinceParameter; - ...IfNoneMatchParameter; - ...IfMatchParameter; - ...IfTagsParameter; - ...LeaseActionParameter<"change">; - }, - { - ...EtagResponseHeader; - ...LastModifiedResponseHeader; - ...LeaseIdResponseHeader; - } - >; - - /** The Break Lease operation ends a lease and ensures that another client can't acquire a new lease until the current lease period has expired. */ - #suppress "@azure-tools/typespec-azure-core/use-standard-operations" "Existing API" - #suppress "@azure-tools/typespec-azure-core/no-response-body" "Existing API" - @put - @sharedRoute - @route("?comp=lease") - breakLease is StorageOperation< - { - ...TimeoutParameter; - ...LeaseBreakPeriodParameter; - ...IfModifiedSinceParameter; - ...IfUnmodifiedSinceParameter; - ...IfNoneMatchParameter; - ...IfMatchParameter; - ...IfTagsParameter; - ...LeaseActionParameter<"break">; - }, - { - @statusCode statusCode: 202; - ...EtagResponseHeader; - ...LastModifiedResponseHeader; - ...LeaseTimeResponseHeader; - } - >; - - /** The Create Snapshot operation creates a read-only snapshot of a blob */ - #suppress "@azure-tools/typespec-azure-core/use-standard-operations" "Existing API" - #suppress "@azure-tools/typespec-azure-core/no-response-body" "Existing API" - @put - @sharedRoute - @route("?comp=snapshot") - createSnapshot is StorageOperation< - { - ...TimeoutParameter; - ...MetadataHeaders; - ...EncryptionKeyParameter; - ...EncryptionKeySha256Parameter; - ...EncryptionAlgorithmParameter; - ...EncryptionScopeParameter; - ...IfModifiedSinceParameter; - ...IfUnmodifiedSinceParameter; - ...IfNoneMatchParameter; - ...IfMatchParameter; - ...IfTagsParameter; - ...LeaseIdOptionalParameter; - }, - { - @statusCode statusCode: 201; - - /** Uniquely identifies the snapshot and indicates the snapshot version. It may be used in subsequent requests to access the snapshot. */ - @header("x-ms-snapshot") - snapshot?: string; - - ...EtagResponseHeader; - ...LastModifiedResponseHeader; - ...VersionIdResponseHeader; - ...RequestServerEncryptedResponseHeader; - } - >; - - /** The Start Copy From URL operation copies a blob or an internet resource to a new blob. */ - #suppress "@azure-tools/typespec-azure-core/use-standard-operations" "Existing API" - #suppress "@azure-tools/typespec-azure-core/no-response-body" "Existing API" - @put - @sharedRoute - startCopyFromUrl is StorageOperation< - { - ...TimeoutParameter; - ...MetadataHeaders; - ...AccessTierHeader; - ...RehydratePriorityHeader; - ...SourceIfModifiedSinceParameter; - ...SourceIfUnmodifiedSinceParameter; - ...SourceIfMatchParameter; - ...SourceIfNoneMatchParameter; - ...SourceIfTagsParameter; - ...IfModifiedSinceParameter; - ...IfUnmodifiedSinceParameter; - ...IfNoneMatchParameter; - ...IfMatchParameter; - ...IfTagsParameter; - ...CopySourceParameter; - ...LeaseIdOptionalParameter; - ...BlobTagsHeaderParameter; - - /** Overrides the sealed state of the destination blob. Service version 2019-12-12 and newer. */ - @header("x-ms-seal-blob") - sealBlob?: boolean; - - ...ImmutabilityPolicyExpiryParameter; - ...ImmutabilityPolicyModeParameter; - ...LegalHoldOptionalParameter; - - /** This header indicates that this is a synchronous Copy Blob From URL instead of a Asynchronous Copy Blob. */ - @header("x-ms-requires-sync") - requiresSync: true; - }, - { - @statusCode statusCode: 202; - ...EtagResponseHeader; - ...LastModifiedResponseHeader; - ...VersionIdResponseHeader; - ...CopyIdResponseHeader; - ...CopyStatusResponseHeader; - } - >; - - /** The Copy From URL operation copies a blob or an internet resource to a new blob. It will not return a response until the copy is complete. */ - #suppress "@azure-tools/typespec-azure-core/use-standard-operations" "Existing API" - #suppress "@azure-tools/typespec-azure-core/no-response-body" "Existing API" - @put - @sharedRoute - @route("?comp=copy") - copyFromUrl is StorageOperation< - { - ...TimeoutParameter; - ...MetadataHeaders; - ...AccessTierHeader; - ...SourceIfModifiedSinceParameter; - ...SourceIfUnmodifiedSinceParameter; - ...SourceIfMatchParameter; - ...SourceIfNoneMatchParameter; - ...IfModifiedSinceParameter; - ...IfUnmodifiedSinceParameter; - ...IfNoneMatchParameter; - ...IfMatchParameter; - ...IfTagsParameter; - ...CopySourceParameter; - ...LeaseIdOptionalParameter; - ...SourceContentMd5Parameter; - ...BlobTagsHeaderParameter; - ...ImmutabilityPolicyExpiryParameter; - ...ImmutabilityPolicyModeParameter; - ...LegalHoldOptionalParameter; - ...CopySourceAuthorizationParameter; - ...EncryptionScopeParameter; - ...CopySourceTagsParameter; - ...FileRequestIntentParameter; - - /** This header indicates that this is a synchronous Copy Blob From URL instead of a Asynchronous Copy Blob. */ - @header("x-ms-requires-sync") - requiresSync: "true"; - }, - { - @statusCode statusCode: 202; - ...EtagResponseHeader; - ...LastModifiedResponseHeader; - ...VersionIdResponseHeader; - ...CopyIdResponseHeader; - - /** State of the copy operation identified by x-ms-copy-id. */ - @header("x-ms-copy-status") - copyStatus?: "success"; - - ...ContentMd5ResponseHeader; - ...ContentCrc64ResponseHeader; - ...EncryptionScopeResponseHeader; - } - >; - - /** The Abort Copy From URL operation aborts a pending Copy From URL operation, and leaves a destination blob with zero length and full metadata. */ - #suppress "@azure-tools/typespec-azure-core/use-standard-operations" "Existing API" - @put - @sharedRoute - @route("?comp=copy") - abortCopyFromUrl is StorageOperation< - { - ...TimeoutParameter; - - /** The copy identifier provided in the x-ms-copy-id header of the original Copy Blob operation. */ - @clientName("copyId") - @query - copyid: string; - - ...LeaseIdOptionalParameter; - - /** The copy action to be performed. */ - @header("x-ms-copy-action") - copyActionAbortConstant: "abort"; - }, - { - @statusCode statusCode: 204; - } - >; - - /** The Set Tier operation sets the tier on a block blob. The operation is allowed on a page blob or block blob, but not on an append blob. A block blob's tier determines Hot/Cool/Archive storage type. This operation does not update the blob's ETag. */ - #suppress "@azure-tools/typespec-azure-core/use-standard-operations" "Existing API" - #suppress "@azure-tools/typespec-azure-core/no-response-body" "Existing API" - #suppress "@azure-tools/typespec-azure-core/use-standard-names" "Existing API" - @put - @sharedRoute - @route("?comp=tier") - setTier is StorageOperation< - { - ...SnapshotParameter; - ...VersionIdParameter; - ...TimeoutParameter; - - /** Indicates the tier to be set on the blob. */ - @header("x-ms-access-tier") - tier: AccessTier; - - ...RehydratePriorityHeader; - ...LeaseIdOptionalParameter; - ...IfTagsParameter; - }, - { - #suppress "@azure-tools/typespec-azure-core/no-closed-literal-union" "Following standard pattern" - @statusCode statusCode: 200 | 202; - } - >; - - /** Returns the sku name and account kind */ - #suppress "@azure-tools/typespec-azure-core/use-standard-operations" "Existing API" - #suppress "@azure-tools/typespec-azure-core/no-response-body" "Existing API" - @get - @sharedRoute - @route("?restype=account&comp=properties") - getAccountInfo is StorageOperation< - { - ...TimeoutParameter; - }, - { - ...AccountKindResponseHeader; - ...SkuNameResponseHeader; - ...IsHierarchicalNamespaceEnabled; - } - >; - - /** The Get Blob Tags operation enables users to get tags on a blob. */ - #suppress "@azure-tools/typespec-azure-core/use-standard-operations" "Existing API" - @get - @sharedRoute - @route("?comp=tags") - getTags is StorageOperation< - { - ...TimeoutParameter; - ...SnapshotParameter; - ...VersionIdParameter; - ...LeaseIdOptionalParameter; - ...IfTagsParameter; - ...IfBlobModifiedSinceHeader; - ...IfBlobUnmodifiedSinceHeader; - ...IfBlobMatchHeader; - ...IfBlobNoneMatchHeader; - }, - { - /** The blob tags. */ - @body - tags: BlobTags; - } - >; - - /** The Set Tags operation enables users to set tags on a blob. */ - #suppress "@azure-tools/typespec-azure-core/use-standard-operations" "Existing API" - @put - @route("?comp=tags") - setTags is StorageOperation< - { - ...TimeoutParameter; - ...VersionIdParameter; - ...ContentMd5Parameter; - ...ContentCrc64Parameter; - ...IfTagsParameter; - ...LeaseIdOptionalParameter; - - /** The blob tags. */ - @body - tags: BlobTags; - - ...IfBlobModifiedSinceHeader; - ...IfBlobUnmodifiedSinceHeader; - ...IfBlobMatchHeader; - ...IfBlobNoneMatchHeader; - }, - { - @statusCode statusCode: 204; - } - >; -} - -#suppress "@azure-tools/typespec-azure-core/operation-missing-api-version" "Existing API. Storage API version parameter pre-dates current guidance." -@client -interface PageBlob { - /** The Create operation creates a new page blob. */ - #suppress "@azure-tools/typespec-azure-core/use-standard-operations" "Existing API" - #suppress "@azure-tools/typespec-azure-core/no-response-body" "Existing API" - @put - @sharedRoute - create is StorageOperationNoBody< - { - ...MetadataHeaders; - ...TimeoutParameter; - - /** Optional. Indicates the tier to be set on the page blob. */ - @header("x-ms-access-tier") - tier?: PremiumPageBlobAccessTier; - - ...BlobContentTypeParameter; - ...BlobContentEncodingParameter; - ...BlobContentLanguageParameter; - ...BlobContentMd5Parameter; - ...BlobCacheControlParameter; - ...LeaseIdOptionalParameter; - ...BlobContentDispositionParameter; - ...EncryptionKeyParameter; - ...EncryptionKeySha256Parameter; - ...EncryptionAlgorithmParameter; - ...EncryptionScopeParameter; - ...IfModifiedSinceParameter; - ...IfUnmodifiedSinceParameter; - ...IfNoneMatchParameter; - ...IfMatchParameter; - ...IfTagsParameter; - ...BlobContentLengthRequired; - ...SequenceNumberParameter; - ...BlobTagsHeaderParameter; - ...ImmutabilityPolicyExpiryParameter; - ...ImmutabilityPolicyModeParameter; - ...LegalHoldOptionalParameter; - - /** the initial size of the page blob */ - @header("Content-Length") - contentLength: 0; - - /** The type of the blob. */ - @header("x-ms-blob-type") - blobType: "PageBlob"; - }, - { - @statusCode statusCode: 201; - ...EtagResponseHeader; - ...LastModifiedResponseHeader; - ...ContentMd5ResponseHeader; - ...VersionIdResponseHeader; - ...RequestServerEncryptedResponseHeader; - ...EncryptionKeySha256ResponseHeader; - ...EncryptionScopeResponseHeader; - } - >; - - /** The Upload Pages operation writes a range of pages to a page blob */ - #suppress "@azure-tools/typespec-azure-core/use-standard-operations" "Existing API" - #suppress "@azure-tools/typespec-azure-core/no-response-body" "Existing API" - #suppress "@azure-tools/typespec-azure-core/use-standard-names" "Existing API" - #suppress "@azure-tools/typespec-azure-core/byos" "Existing API" - @put - @sharedRoute - @route("?comp=page") - uploadPages is StorageOperation< - { - /** The data to upload. */ - ...BodyParameter; - - ...ContentLengthParameter; - ...ContentMd5Parameter; - ...ContentCrc64Parameter; - ...TimeoutParameter; - - /** Bytes of data in the specified range. */ - @header("Range") - range: string; - - ...LeaseIdOptionalParameter; - ...EncryptionKeyParameter; - ...EncryptionKeySha256Parameter; - ...EncryptionAlgorithmParameter; - ...EncryptionScopeParameter; - ...IfSequenceNumberLessThanOrEqualToParameter; - ...IfSequenceNumberLessThanParameter; - ...IfSequenceNumberEqualToParameter; - ...IfModifiedSinceParameter; - ...IfUnmodifiedSinceParameter; - ...IfNoneMatchParameter; - ...IfMatchParameter; - ...IfTagsParameter; - ...StructuredBodyParameter; - ...StructuredContentLengthParameter; - ...PageWriteParameter<"update">; - }, - { - @statusCode statusCode: 201; - ...EtagResponseHeader; - ...LastModifiedResponseHeader; - ...ContentMd5ResponseHeader; - ...ContentCrc64ResponseHeader; - ...BlobSequenceNumberResponseHeader; - ...RequestServerEncryptedResponseHeader; - ...EncryptionKeySha256ResponseHeader; - ...EncryptionScopeResponseHeader; - ...StructuredBodyTypeResponseHeader; - }, - "application/octet-stream" - >; - - /** The Clear Pages operation clears a range of pages from a page blob */ - #suppress "@azure-tools/typespec-azure-core/use-standard-operations" "Existing API" - #suppress "@azure-tools/typespec-azure-core/no-response-body" "Existing API" - #suppress "@azure-tools/typespec-azure-core/use-standard-names" "Existing API" - @put - @sharedRoute - @route("?comp=page") - clearPages is StorageOperationNoBody< - { - /** value must be 0 when x-ms-page-write is clear */ - @header("Content-Length") - contentLength: 0; - - ...TimeoutParameter; - - /** Bytes of data in the specified range. */ - @header("Range") - range: string; - - ...LeaseIdOptionalParameter; - ...EncryptionKeyParameter; - ...EncryptionKeySha256Parameter; - ...EncryptionAlgorithmParameter; - ...EncryptionScopeParameter; - ...IfSequenceNumberLessThanOrEqualToParameter; - ...IfSequenceNumberLessThanParameter; - ...IfSequenceNumberEqualToParameter; - ...IfModifiedSinceParameter; - ...IfUnmodifiedSinceParameter; - ...IfNoneMatchParameter; - ...IfMatchParameter; - ...IfTagsParameter; - ...PageWriteParameter<"clear">; - }, - { - @statusCode statusCode: 201; - ...EtagResponseHeader; - ...LastModifiedResponseHeader; - ...ContentMd5ResponseHeader; - ...ContentCrc64ResponseHeader; - ...BlobSequenceNumberResponseHeader; - } - >; - - /** The Upload Pages operation writes a range of pages to a page blob where the contents are read from a URL. */ - #suppress "@azure-tools/typespec-azure-core/use-standard-operations" "Existing API" - #suppress "@azure-tools/typespec-azure-core/use-standard-names" "Existing API" - #suppress "@azure-tools/typespec-azure-core/no-response-body" "Existing API" - @put - @sharedRoute - @route("?comp=page") - uploadPagesFromUrl is StorageOperationNoBody< - { - ...SourceUrlParameter; - - /** Bytes of source data in the specified range. The length of this range should match the ContentLength header and x-ms-range/Range destination range header. */ - @header("x-ms-source-range") - sourceRange: string; - - ...SourceContentMd5Parameter; - ...SourceContentCrc64Parameter; - ...ContentLengthParameter; - ...TimeoutParameter; - - /** Bytes of source data in the specified range. The length of this range should match the ContentLength header and x-ms-range/Range destination range header. */ - @header("x-ms-range") - range: string; - - ...EncryptionKeyParameter; - ...EncryptionKeySha256Parameter; - ...EncryptionAlgorithmParameter; - ...EncryptionScopeParameter; - ...LeaseIdOptionalParameter; - ...IfSequenceNumberLessThanOrEqualToParameter; - ...IfSequenceNumberLessThanParameter; - ...IfSequenceNumberEqualToParameter; - ...IfModifiedSinceParameter; - ...IfUnmodifiedSinceParameter; - ...IfNoneMatchParameter; - ...IfMatchParameter; - ...IfTagsParameter; - ...SourceIfModifiedSinceParameter; - ...SourceIfUnmodifiedSinceParameter; - ...SourceIfMatchParameter; - ...SourceIfNoneMatchParameter; - ...CopySourceAuthorizationParameter; - ...FileRequestIntentParameter; - ...PageWriteParameter<"update">; - ...SourceEncryptionKeyParameter; - ...SourceEncryptionKeySha256Parameter; - ...SourceEncryptionAlgorithmParameter; - }, - { - @statusCode statusCode: 201; - ...EtagResponseHeader; - ...LastModifiedResponseHeader; - ...ContentMd5ResponseHeader; - ...ContentCrc64ResponseHeader; - ...BlobSequenceNumberResponseHeader; - ...RequestServerEncryptedResponseHeader; - ...EncryptionKeySha256ResponseHeader; - ...EncryptionScopeResponseHeader; - } - >; - - /** The Get Page Ranges operation returns the list of valid page ranges for a page blob or snapshot of a page blob. */ - #suppress "@azure-tools/typespec-azure-core/use-standard-operations" "Existing API" - #suppress "@azure-tools/typespec-azure-core/use-standard-names" "Existing API" - @get - @sharedRoute - @route("?comp=pagelist") - getPageRanges is StorageOperation< - { - ...SnapshotParameter; - ...TimeoutParameter; - ...RangeParameter; - ...LeaseIdOptionalParameter; - ...IfModifiedSinceParameter; - ...IfUnmodifiedSinceParameter; - ...IfNoneMatchParameter; - ...IfMatchParameter; - ...IfTagsParameter; - ...MarkerParameter; - ...MaxResultsParameter; - }, - PageList & { - ...LastModifiedResponseHeader; - ...EtagResponseHeader; - ...BlobContentLengthResponseHeader; - } - >; - - /** The Get Page Ranges Diff operation returns the list of valid page ranges for a page blob or snapshot of a page blob. */ - #suppress "@azure-tools/typespec-azure-core/use-standard-operations" "Existing API" - #suppress "@azure-tools/typespec-azure-core/use-standard-names" "Existing API" - @get - @sharedRoute - @route("?comp=pagelist") - getPageRangesDiff is StorageOperation< - { - ...SnapshotParameter; - ...TimeoutParameter; - - /** Optional in version 2015-07-08 and newer. The prevsnapshot parameter is a DateTime value that specifies that the response will contain only pages that were changed between target blob and previous snapshot. Changed pages include both updated and cleared pages. The target blob may be a snapshot, as long as the snapshot specified by prevsnapshot is the older of the two. Note that incremental snapshots are currently supported only for blobs created on or after January 1, 2016. */ - @query - prevsnapshot?: string; - - /** Optional. This header is only supported in service versions 2019-04-19 and after and specifies the URL of a previous snapshot of the target blob. The response will only contain pages that were changed between the target blob and its previous snapshot. */ - @header("x-ms-previous-snapshot-url") - prevSnapshotUrl?: string; - - ...RangeParameter; - ...LeaseIdOptionalParameter; - ...IfModifiedSinceParameter; - ...IfUnmodifiedSinceParameter; - ...IfNoneMatchParameter; - ...IfMatchParameter; - ...IfTagsParameter; - ...MarkerParameter; - ...MaxResultsParameter; - }, - PageList & { - ...LastModifiedResponseHeader; - ...EtagResponseHeader; - ...BlobContentLengthResponseHeader; - } - >; - - /** The Resize operation increases the size of the page blob to the specified size. */ - #suppress "@azure-tools/typespec-azure-core/use-standard-operations" "Existing API" - #suppress "@azure-tools/typespec-azure-core/no-response-body" "Existing API" - #suppress "@azure-tools/typespec-azure-core/use-standard-names" "Existing API" - @put - @sharedRoute - @route("?comp=properties") - resize is StorageOperation< - { - ...TimeoutParameter; - ...LeaseIdOptionalParameter; - ...EncryptionKeyParameter; - ...EncryptionKeySha256Parameter; - ...EncryptionAlgorithmParameter; - ...EncryptionScopeParameter; - ...IfModifiedSinceParameter; - ...IfUnmodifiedSinceParameter; - ...IfNoneMatchParameter; - ...IfMatchParameter; - ...IfTagsParameter; - ...BlobContentLengthRequired; - }, - { - ...EtagResponseHeader; - ...LastModifiedResponseHeader; - ...BlobSequenceNumberResponseHeader; - } - >; - - /** The Update Sequence Number operation sets the blob's sequence number. The operation will fail if the specified sequence number is less than the current sequence number of the blob. */ - #suppress "@azure-tools/typespec-azure-core/use-standard-operations" "Existing API" - #suppress "@azure-tools/typespec-azure-core/no-response-body" "Existing API" - #suppress "@azure-tools/typespec-azure-core/use-standard-names" "Existing API" - @put - @sharedRoute - @route("?comp=properties") - setSequenceNumber is StorageOperation< - { - ...TimeoutParameter; - ...LeaseIdOptionalParameter; - ...IfModifiedSinceParameter; - ...IfUnmodifiedSinceParameter; - ...IfNoneMatchParameter; - ...IfMatchParameter; - ...IfTagsParameter; - ...SequenceNumberActionParameter; - ...SequenceNumberParameter; - }, - { - ...EtagResponseHeader; - ...LastModifiedResponseHeader; - ...BlobSequenceNumberResponseHeader; - } - >; - - /** The Copy Incremental operation copies a snapshot of the source page blob to a destination page blob. The snapshot is copied such that only the differential changes between the previously copied snapshot are transferred to the destination. The copied snapshots are complete copies of the original snapshot and can be read or copied from as usual. This API is supported since REST version 2016-05-31. */ - #suppress "@azure-tools/typespec-azure-core/use-standard-operations" "Existing API" - #suppress "@azure-tools/typespec-azure-core/no-response-body" "Existing API" - @put - @sharedRoute - @route("?comp=incrementalcopy") - copyIncremental is StorageOperation< - { - ...TimeoutParameter; - ...IfModifiedSinceParameter; - ...IfUnmodifiedSinceParameter; - ...IfNoneMatchParameter; - ...IfMatchParameter; - ...IfTagsParameter; - ...CopySourceParameter; - }, - { - @statusCode statusCode: 202; - ...EtagResponseHeader; - ...LastModifiedResponseHeader; - ...CopyIdResponseHeader; - ...CopyStatusResponseHeader; - } - >; -} - -#suppress "@azure-tools/typespec-azure-core/operation-missing-api-version" "Existing API. Storage API version parameter pre-dates current guidance." -@client -interface AppendBlob { - /** The Create operation creates a new append blob. */ - #suppress "@azure-tools/typespec-azure-core/use-standard-operations" "Existing API" - #suppress "@azure-tools/typespec-azure-core/no-response-body" "Existing API" - @put - @sharedRoute - create is StorageOperationNoBody< - { - ...MetadataHeaders; - ...TimeoutParameter; - ...BlobContentTypeParameter; - ...BlobContentEncodingParameter; - ...BlobContentLanguageParameter; - ...BlobContentMd5Parameter; - ...BlobCacheControlParameter; - ...LeaseIdOptionalParameter; - ...BlobContentDispositionParameter; - ...EncryptionKeyParameter; - ...EncryptionKeySha256Parameter; - ...EncryptionAlgorithmParameter; - ...EncryptionScopeParameter; - ...IfModifiedSinceParameter; - ...IfUnmodifiedSinceParameter; - ...IfNoneMatchParameter; - ...IfMatchParameter; - ...IfTagsParameter; - ...BlobTagsHeaderParameter; - ...ImmutabilityPolicyExpiryParameter; - ...ImmutabilityPolicyModeParameter; - ...LegalHoldOptionalParameter; - - /** the initial size of the append blob */ - @header("Content-Length") - contentLength: 0; - - /** The type of the blob. */ - @header("x-ms-blob-type") - blobType: "AppendBlob"; - }, - { - @statusCode statusCode: 201; - ...EtagResponseHeader; - ...LastModifiedResponseHeader; - ...ContentMd5ResponseHeader; - ...VersionIdResponseHeader; - ...RequestServerEncryptedResponseHeader; - ...EncryptionKeySha256ResponseHeader; - ...EncryptionScopeResponseHeader; - } - >; - - /** The Append Block operation commits a new block of data to the end of an append blob. */ - #suppress "@azure-tools/typespec-azure-core/use-standard-operations" "Existing API" - #suppress "@azure-tools/typespec-azure-core/no-response-body" "Existing API" - #suppress "@azure-tools/typespec-azure-core/use-standard-names" "Existing API" - #suppress "@azure-tools/typespec-azure-core/byos" "Existing API" - @put - @sharedRoute - @route("?comp=appendblock") - appendBlock is StorageOperation< - { - /** The data to upload. */ - ...BodyParameter; - - ...TimeoutParameter; - ...ContentLengthParameter; - ...ContentMd5Parameter; - ...ContentCrc64Parameter; - ...LeaseIdOptionalParameter; - ...BlobConditionMaxSizeParameter; - ...BlobConditionAppendPosParameter; - ...EncryptionKeyParameter; - ...EncryptionKeySha256Parameter; - ...EncryptionAlgorithmParameter; - ...EncryptionScopeParameter; - ...IfModifiedSinceParameter; - ...IfUnmodifiedSinceParameter; - ...IfNoneMatchParameter; - ...IfMatchParameter; - ...IfTagsParameter; - ...StructuredBodyParameter; - ...StructuredContentLengthParameter; - }, - { - @statusCode statusCode: 201; - ...EtagResponseHeader; - ...LastModifiedResponseHeader; - ...ContentMd5ResponseHeader; - ...ContentCrc64ResponseHeader; - ...BlobAppendOffsetResponseHeader; - ...BlobCommittedBlockCountResponseHeader; - ...RequestServerEncryptedResponseHeader; - ...EncryptionKeySha256ResponseHeader; - ...EncryptionScopeResponseHeader; - ...StructuredBodyTypeResponseHeader; - }, - "application/octet-stream" - >; - - /** The Append Block From URL operation creates a new block to be committed as part of an append blob where the contents are read from a URL. */ - #suppress "@azure-tools/typespec-azure-core/use-standard-operations" "Existing API" - #suppress "@azure-tools/typespec-azure-core/no-response-body" "Existing API" - #suppress "@azure-tools/typespec-azure-core/use-standard-names" "Existing API" - @put - @sharedRoute - @route("?comp=appendblock") - appendBlockFromUrl is StorageOperation< - { - ...SourceUrlParameter; - ...SourceRangeParameter; - ...SourceContentMd5Parameter; - ...SourceContentCrc64Parameter; - ...TimeoutParameter; - ...ContentLengthParameter; - ...ContentMd5Parameter; - ...EncryptionKeyParameter; - ...EncryptionKeySha256Parameter; - ...EncryptionAlgorithmParameter; - ...EncryptionScopeParameter; - ...LeaseIdOptionalParameter; - ...BlobConditionMaxSizeParameter; - ...BlobConditionAppendPosParameter; - ...IfModifiedSinceParameter; - ...IfUnmodifiedSinceParameter; - ...IfNoneMatchParameter; - ...IfMatchParameter; - ...IfTagsParameter; - ...SourceIfModifiedSinceParameter; - ...SourceIfUnmodifiedSinceParameter; - ...SourceIfMatchParameter; - ...SourceIfNoneMatchParameter; - ...CopySourceAuthorizationParameter; - ...FileRequestIntentParameter; - ...SourceEncryptionKeyParameter; - ...SourceEncryptionKeySha256Parameter; - ...SourceEncryptionAlgorithmParameter; - }, - { - @statusCode statusCode: 201; - ...EtagResponseHeader; - ...LastModifiedResponseHeader; - ...ContentMd5ResponseHeader; - ...ContentCrc64ResponseHeader; - ...BlobAppendOffsetResponseHeader; - ...BlobCommittedBlockCountResponseHeader; - ...RequestServerEncryptedResponseHeader; - ...EncryptionKeySha256ResponseHeader; - ...EncryptionScopeResponseHeader; - } - >; - - /** The Seal operation seals the Append Blob to make it read-only. Seal is supported only on version 2019-12-12 version or later. */ - #suppress "@azure-tools/typespec-azure-core/use-standard-operations" "Existing API" - #suppress "@azure-tools/typespec-azure-core/no-response-body" "Existing API" - #suppress "@azure-tools/typespec-azure-core/use-standard-names" "Existing API" - @put - @sharedRoute - @route("?comp=seal") - seal is StorageOperation< - { - ...TimeoutParameter; - ...LeaseIdOptionalParameter; - ...IfModifiedSinceParameter; - ...IfUnmodifiedSinceParameter; - ...IfNoneMatchParameter; - ...IfMatchParameter; - ...BlobConditionAppendPosParameter; - }, - { - ...EtagResponseHeader; - ...LastModifiedResponseHeader; - ...IsSealedResponseHeader; - } - >; -} - -#suppress "@azure-tools/typespec-azure-core/operation-missing-api-version" "Existing API. Storage API version parameter pre-dates current guidance." -@client -interface BlockBlob { - /** The Upload Block Blob operation updates the content of an existing block blob. Updating an existing block blob overwrites any existing metadata on the blob. Partial updates are not supported with Put Blob; the content of the existing blob is overwritten with the content of the new blob. To perform a partial update of the content of a block blob, use the Put Block List operation. */ - #suppress "@azure-tools/typespec-azure-core/use-standard-operations" "Existing API" - #suppress "@azure-tools/typespec-azure-core/no-response-body" "Existing API" - #suppress "@azure-tools/typespec-azure-core/use-standard-names" "Existing API" - #suppress "@azure-tools/typespec-azure-core/byos" "Existing API" - @put - @sharedRoute - upload is StorageOperation< - { - ...MetadataHeaders; - ...BodyParameter; - ...TimeoutParameter; - ...ContentMd5Parameter; - ...ContentLengthParameter; - ...BlobContentTypeParameter; - ...BlobContentEncodingParameter; - ...BlobContentLanguageParameter; - ...BlobContentMd5Parameter; - ...BlobCacheControlParameter; - ...LeaseIdOptionalParameter; - ...BlobContentDispositionParameter; - ...EncryptionKeyParameter; - ...EncryptionKeySha256Parameter; - ...EncryptionAlgorithmParameter; - ...EncryptionScopeParameter; - ...AccessTierHeader; - ...IfModifiedSinceParameter; - ...IfUnmodifiedSinceParameter; - ...IfNoneMatchParameter; - ...IfMatchParameter; - ...IfTagsParameter; - ...BlobTagsHeaderParameter; - ...ImmutabilityPolicyExpiryParameter; - ...ImmutabilityPolicyModeParameter; - ...LegalHoldOptionalParameter; - ...ContentCrc64Parameter; - ...StructuredBodyParameter; - ...StructuredContentLengthParameter; - - /** The type of the blob. */ - @header("x-ms-blob-type") - blobType: "BlockBlob"; - }, - { - @statusCode statusCode: 201; - ...EtagResponseHeader; - ...LastModifiedResponseHeader; - ...ContentMd5ResponseHeader; - ...VersionIdResponseHeader; - ...RequestServerEncryptedResponseHeader; - ...EncryptionKeySha256ResponseHeader; - ...EncryptionScopeResponseHeader; - ...StructuredBodyTypeResponseHeader; - }, - "application/octet-stream" - >; - - /** The Put Blob from URL operation creates a new Block Blob where the contents of the blob are read from a given URL. This API is supported beginning with the 2020-04-08 version. Partial updates are not supported with Put Blob from URL; the content of an existing blob is overwritten with the content of the new blob. To perform partial updates to a block blob’s contents using a source URL, use the Put Block from URL API in conjunction with Put Block List. */ - #suppress "@azure-tools/typespec-azure-core/use-standard-operations" "Existing API" - #suppress "@azure-tools/typespec-azure-core/no-response-body" "Existing API" - #suppress "@azure-tools/typespec-azure-core/use-standard-names" "Existing API" - @put - @sharedRoute - uploadBlobFromUrl is StorageOperationNoBody< - { - ...MetadataHeaders; - ...TimeoutParameter; - ...ContentMd5Parameter; - ...BlobContentTypeParameter; - ...BlobContentEncodingParameter; - ...BlobContentLanguageParameter; - ...BlobContentMd5Parameter; - ...BlobCacheControlParameter; - ...LeaseIdOptionalParameter; - ...BlobContentDispositionParameter; - ...EncryptionKeyParameter; - ...EncryptionKeySha256Parameter; - ...EncryptionAlgorithmParameter; - ...EncryptionScopeParameter; - ...AccessTierHeader; - ...IfModifiedSinceParameter; - ...IfUnmodifiedSinceParameter; - ...IfNoneMatchParameter; - ...IfMatchParameter; - ...IfTagsParameter; - ...SourceIfModifiedSinceParameter; - ...SourceIfUnmodifiedSinceParameter; - ...SourceIfMatchParameter; - ...SourceIfNoneMatchParameter; - ...SourceIfTagsParameter; - ...SourceContentMd5Parameter; - ...BlobTagsHeaderParameter; - ...CopySourceParameter; - - /** Required to be 0 for Put Blob from URL operation. */ - @header("Content-Length") - contentLength: 0; - - ...CopySourceBlobPropertiesParameter; - ...CopySourceAuthorizationParameter; - ...CopySourceTagsParameter; - - /** The type of the blob. */ - @header("x-ms-blob-type") - blobType: "BlockBlob"; - - ...FileRequestIntentParameter; - ...SourceEncryptionKeyParameter; - ...SourceEncryptionKeySha256Parameter; - ...SourceEncryptionAlgorithmParameter; - }, - { - @statusCode statusCode: 201; - ...EtagResponseHeader; - ...LastModifiedResponseHeader; - ...ContentMd5ResponseHeader; - ...VersionIdResponseHeader; - ...RequestServerEncryptedResponseHeader; - ...EncryptionKeySha256ResponseHeader; - ...EncryptionScopeResponseHeader; - } - >; - - /** The Stage Block operation creates a new block to be committed as part of a blob */ - #suppress "@azure-tools/typespec-azure-core/use-standard-operations" "Existing API" - #suppress "@azure-tools/typespec-azure-core/no-response-body" "Existing API" - #suppress "@azure-tools/typespec-azure-core/use-standard-names" "Existing API" - #suppress "@azure-tools/typespec-azure-core/byos" "Existing API" - @put - @sharedRoute - @route("?comp=block") - stageBlock is StorageOperation< - { - ...BlockIdParameter; - ...ContentLengthParameter; - ...ContentMd5Parameter; - ...ContentCrc64Parameter; - ...BodyParameter; - ...TimeoutParameter; - ...LeaseIdOptionalParameter; - ...EncryptionKeyParameter; - ...EncryptionKeySha256Parameter; - ...EncryptionAlgorithmParameter; - ...EncryptionScopeParameter; - ...StructuredBodyParameter; - ...StructuredContentLengthParameter; - }, - { - @statusCode statusCode: 201; - ...ContentMd5ResponseHeader; - ...ContentCrc64ResponseHeader; - ...RequestServerEncryptedResponseHeader; - ...EncryptionKeySha256ResponseHeader; - ...EncryptionScopeResponseHeader; - ...StructuredBodyTypeResponseHeader; - }, - "application/octet-stream" - >; - - /** The Stage Block From URL operation creates a new block to be committed as part of a blob where the contents are read from a URL. */ - #suppress "@azure-tools/typespec-azure-core/use-standard-operations" "Existing API" - #suppress "@azure-tools/typespec-azure-core/no-response-body" "Existing API" - #suppress "@azure-tools/typespec-azure-core/use-standard-names" "Existing API" - @put - @sharedRoute - @route("?comp=block") - stageBlockFromUrl is StorageOperation< - { - ...BlockIdParameter; - ...ContentLengthParameter; - ...SourceUrlParameter; - ...SourceRangeParameter; - ...SourceContentMd5Parameter; - ...SourceContentCrc64Parameter; - ...TimeoutParameter; - ...EncryptionKeyParameter; - ...EncryptionKeySha256Parameter; - ...EncryptionAlgorithmParameter; - ...EncryptionScopeParameter; - ...LeaseIdOptionalParameter; - ...SourceIfModifiedSinceParameter; - ...SourceIfUnmodifiedSinceParameter; - ...SourceIfMatchParameter; - ...SourceIfNoneMatchParameter; - ...CopySourceAuthorizationParameter; - ...FileRequestIntentParameter; - ...SourceEncryptionKeyParameter; - ...SourceEncryptionKeySha256Parameter; - ...SourceEncryptionAlgorithmParameter; - }, - { - @statusCode statusCode: 201; - ...ContentMd5ResponseHeader; - ...ContentCrc64ResponseHeader; - ...RequestServerEncryptedResponseHeader; - ...EncryptionKeySha256ResponseHeader; - ...EncryptionScopeResponseHeader; - } - >; - - /** The Commit Block List operation writes a blob by specifying the list of block IDs that make up the blob. In order to be written as part of a blob, a block must have been successfully written to the server in a prior Put Block operation. You can call Put Block List to update a blob by uploading only those blocks that have changed, then committing the new and existing blocks together. You can do this by specifying whether to commit a block from the committed block list or from the uncommitted block list, or to commit the most recently uploaded version of the block, whichever list it may belong to. */ - #suppress "@azure-tools/typespec-azure-core/use-standard-operations" "Existing API" - #suppress "@azure-tools/typespec-azure-core/no-response-body" "Existing API" - #suppress "@azure-tools/typespec-azure-core/use-standard-names" "Existing API" - @put - @sharedRoute - @route("?comp=blocklist") - commitBlockList is StorageOperation< - { - ...TimeoutParameter; - ...BlobCacheControlParameter; - ...BlobContentTypeParameter; - ...BlobContentEncodingParameter; - ...BlobContentLanguageParameter; - ...BlobContentMd5Parameter; - ...ContentMd5Parameter; - ...ContentCrc64Parameter; - ...MetadataHeaders; - ...LeaseIdOptionalParameter; - ...BlobContentDispositionParameter; - ...EncryptionKeyParameter; - ...EncryptionKeySha256Parameter; - ...EncryptionAlgorithmParameter; - ...EncryptionScopeParameter; - ...AccessTierHeader; - ...IfModifiedSinceParameter; - ...IfUnmodifiedSinceParameter; - ...IfNoneMatchParameter; - ...IfMatchParameter; - ...IfTagsParameter; - - /** Blob Blocks. */ - @body blocks: BlockLookupList; - - ...BlobTagsHeaderParameter; - ...ImmutabilityPolicyExpiryParameter; - ...ImmutabilityPolicyModeParameter; - ...LegalHoldOptionalParameter; - }, - { - @statusCode statusCode: 201; - ...EtagResponseHeader; - ...LastModifiedResponseHeader; - ...ContentMd5ResponseHeader; - ...ContentCrc64ResponseHeader; - ...VersionIdResponseHeader; - ...RequestServerEncryptedResponseHeader; - ...EncryptionKeySha256ResponseHeader; - ...EncryptionScopeResponseHeader; - } - >; - - /** The Get Block List operation retrieves the list of blocks that have been uploaded as part of a block blob. */ - #suppress "@azure-tools/typespec-azure-core/use-standard-operations" "Existing API" - @get - @route("?comp=blocklist") - getBlockList is StorageOperation< - { - ...SnapshotParameter; - - /** Specifies whether to return the list of committed blocks, the list of uncommitted blocks, or both lists together. */ - @query - @clientName("listType") - blocklisttype: BlockListType; - - ...TimeoutParameter; - ...LeaseIdOptionalParameter; - ...IfTagsParameter; - }, - { - /** Block list */ - @body - blockList: BlockList; - - ...LastModifiedResponseHeader; - ...EtagResponseHeader; - ...BlobContentLengthResponseHeader; - } - >; - - /** The Query operation enables users to select/project on blob data by providing simple query expressions. */ - #suppress "@azure-tools/typespec-azure-core/use-standard-operations" "Existing API" - #suppress "@azure-tools/typespec-azure-core/byos" "Existing API" - @post - @route("?comp=query") - query is StorageOperation< - { - /** The query request */ - @body - queryRequest: QueryRequest; - - ...SnapshotParameter; - ...TimeoutParameter; - ...LeaseIdOptionalParameter; - ...EncryptionKeyParameter; - ...EncryptionKeySha256Parameter; - ...EncryptionAlgorithmParameter; - ...IfModifiedSinceParameter; - ...IfUnmodifiedSinceParameter; - ...IfNoneMatchParameter; - ...IfMatchParameter; - ...IfTagsParameter; - }, - BodyParameter & { - #suppress "@azure-tools/typespec-azure-core/no-closed-literal-union" "Following standard pattern" - @statusCode statusCode: 200 | 206; - ...MetadataHeaders; - ...LastModifiedResponseHeader; - ...ContentLengthResponseHeader; - ...ContentRangeResponseHeader; - ...EtagResponseHeader; - ...ContentMd5ResponseHeader; - ...ContentEncodingResponseParameter; - ...CacheControlResponseHeader; - ...ContentDispositionResponseHeader; - ...ContentLanguageResponseHeader; - ...BlobSequenceNumberResponseHeader; - ...BlobTypeResponseHeader; - ...ContentCrc64ResponseHeader; - ...CopyCompletionTimeResponseHeader; - ...CopyStatusDescriptionResponseHeader; - ...CopyIdResponseHeader; - ...CopyProgressResponseHeader; - ...CopySourceResponseHeader; - ...CopyStatusResponseHeader; - ...LeaseDurationResponseHeader; - ...LeaseStateResponseHeader; - ...LeaseStatusResponseHeader; - ...AcceptRangesResponseHeader; - ...BlobCommittedBlockCountResponseHeader; - ...ServerEncryptedResponseHeader; - ...EncryptionKeySha256ResponseHeader; - ...EncryptionScopeResponseHeader; - ...BlobContentMd5ResponseHeader; - }, - "application/xml", - "application/octet-stream" - >; -} diff --git a/packages/http-client-python/alpha/Microsoft.BlobStorage/suppressions.yaml b/packages/http-client-python/alpha/Microsoft.BlobStorage/suppressions.yaml deleted file mode 100644 index f6765e7bde1..00000000000 --- a/packages/http-client-python/alpha/Microsoft.BlobStorage/suppressions.yaml +++ /dev/null @@ -1,18 +0,0 @@ -- tool: TypeSpecValidation - paths: - - tspconfig.yaml - rules: - - SdkTspConfigValidation - sub-rules: - - options.@azure-tools/typespec-go.generate-fakes - - options.@azure-tools/typespec-go.inject-spans - - options.@azure-tools/typespec-go.service-dir - - options.@azure-tools/typespec-go.package-dir - - options.@azure-tools/typespec-java.emitter-output-dir - - options.@azure-tools/typespec-ts.emitter-output-dir - - options.@azure-tools/typespec-ts.package-details.name - - options.@azure-tools/typespec-python.emitter-output-dir - - options.@azure-tools/typespec-csharp.namespace - - options.@azure-tools/typespec-csharp.clear-output-folder - - options.@azure-tools/typespec-csharp.emitter-output-dir - reason: 'Suppress SDK configuration validation until TypeSpec conversion is ready. Go options suppressed until service team is ready to update the go package with typespec.' \ No newline at end of file diff --git a/packages/http-client-python/alpha/Microsoft.BlobStorage/tspconfig.yaml b/packages/http-client-python/alpha/Microsoft.BlobStorage/tspconfig.yaml deleted file mode 100644 index 4c6192d3100..00000000000 --- a/packages/http-client-python/alpha/Microsoft.BlobStorage/tspconfig.yaml +++ /dev/null @@ -1,53 +0,0 @@ -parameters: - "service-dir": - default: "sdk/storage" - "dependencies": - default: "" -emit: - - "@azure-tools/typespec-autorest" -options: - "@azure-tools/typespec-autorest": - azure-resource-provider-folder: "data-plane" - emitter-output-dir: "{project-root}/.." - examples-dir: "{project-root}/examples" - output-file: "{azure-resource-provider-folder}/Microsoft.BlobStorage/{version-status}/{version}/generated_blob.json" - # Commented to avoid running emitter check on unconverted languages, uncomment when ready to use - "@typespec/http-client-python": - emitter-output-dir: "{output-dir}/{service-dir}/azure-storage-blob/azure/storage/blob/_generated" - package-name: "azure-storage-blob" - package-mode: dataplane - flavor: azure - # "@azure-tools/typespec-csharp": - # emitter-output-dir: "{output-dir}/{service-dir}/{namespace}" - # namespace: "Azure.Storage.Blob" - # clear-output-folder: true - # model-namespace: false - # flavor: azure - "@azure-tools/typespec-ts": - emitter-output-dir: "{output-dir}/{service-dir}/storage-blob-rest" - generate-metadata: true - generate-test: true - package-details: - name: "@azure-rest/storage-blob" - description: "Azure.Storage.Blob Service" - flavor: azure - # "@azure-tools/typespec-java": - # emitter-output-dir: "{output-dir}/{service-dir}/azure-storage-blob" - # namespace: com.azure.storage.blob - # flavor: azure - "@azure-tools/typespec-rust": - package-dir: "azure_storage_blob" - crate-name: "azure_storage_blob" - crate-version: "0.1.0" - flavor: azure - temp-omit-doc-links: true - "@azure-tools/typespec-go": - containing-module: "github.com/Azure/azure-sdk-for-go/sdk/storage/azblob" - service-dir: "sdk/storage" - emitter-output-dir: "{output-dir}/{service-dir}/azblob/internal/generated" - generate-fakes: false - omit-constructors: true - go-generate: build.go -linter: - extends: - - "@azure-tools/typespec-azure-rulesets/data-plane" diff --git a/packages/http-client-python/alpha/client.tsp b/packages/http-client-python/alpha/client.tsp deleted file mode 100644 index e3f157580bb..00000000000 --- a/packages/http-client-python/alpha/client.tsp +++ /dev/null @@ -1,109 +0,0 @@ -import "@typespec/http"; -import "@typespec/spector"; -import "@typespec/xml"; - -using Http; -using Spector; -using Xml; - -/** - * Test for pageable payload. - */ -@scenarioService("/payload/pageable") -namespace Payload.Pageable; - -model Pet { - id: string; - name: string; -} - -alias HeaderAndQuery = { - @header foo?: string; - @query bar?: string; -}; - -@doc("An XML pet item.") -@name("Pet") -model XmlPet { - @name("Id") id: string; - @name("Name") name: string; -} - -@route("/xml") -namespace XmlPagination { - @scenario - @scenarioDoc(""" - Test case for XML pagination with continuation token. Continuation token is passed in the request query and response body. - - Two requests need to be tested. - - 1. Initial request: - Expected route: /payload/pageable/xml/list - - Expected response body: - ```xml - - - - 1 - dog - - - 2 - cat - - - page2 - - ``` - - 2. Next page request: - Expected route: /payload/pageable/xml/list?marker=page2 - - Expected response body: - ```xml - - - - 3 - bird - - - 4 - fish - - - - ``` - """) - @route("/list-with-continuation") - @list - op listWithContinuation(@continuationToken @query marker?: string): { - @header("content-type") contentType: "application/xml"; - @body body: XmlPetListResult; - }; -} - -@doc("The XML response for listing pets.") -@name("PetListResult") -model XmlPetListResult { - @pageItems - @name("Pets") - pets: XmlPet[]; - - @continuationToken - @name("NextMarker") - nextMarker?: string; -} - -@doc("The XML response for listing pets with next link.") -@name("PetListResult") -model XmlPetListResultWithNextLink { - @pageItems - @name("Pets") - pets: XmlPet[]; - - @nextLink - @name("NextLink") - nextLink?: url; -} diff --git a/packages/http-client-python/alpha/log.txt b/packages/http-client-python/alpha/log.txt deleted file mode 100644 index 4841c3afb90..00000000000 --- a/packages/http-client-python/alpha/log.txt +++ /dev/null @@ -1,202 +0,0 @@ - -> @typespec/http-client-python@0.26.1 regenerate -> tsx ./eng/scripts/ci/regenerate.ts - -start tsp compile /workspaces/typespec/packages/http-client-python/node_modules/@azure-tools/azure-http-specs/specs/client/namespace/client.tsp --emit /workspaces/typespec/packages/http-client-python --option @typespec/http-client-python.flavor="azure" --option @typespec/http-client-python.generate-test="true" --option @typespec/http-client-python.generate-sample="true" --option @typespec/http-client-python.emitter-output-dir="/workspaces/typespec/packages/http-client-python/generator/test/azure/generated/client-namespace" --option @typespec/http-client-python.examples-dir="/workspaces/typespec/packages/http-client-python/node_modules/@azure-tools/azure-http-specs/specs/client/namespace/examples" -start tsp compile /workspaces/typespec/packages/http-client-python/node_modules/@azure-tools/azure-http-specs/specs/azure/resource-manager/non-resource/main.tsp --emit /workspaces/typespec/packages/http-client-python --option @typespec/http-client-python.flavor="azure" --option @typespec/http-client-python.generate-test="true" --option @typespec/http-client-python.generate-sample="true" --option @typespec/http-client-python.emitter-output-dir="/workspaces/typespec/packages/http-client-python/generator/test/azure/generated/azure-resource-manager-non-resource" --option @typespec/http-client-python.examples-dir="/workspaces/typespec/packages/http-client-python/node_modules/@azure-tools/azure-http-specs/specs/azure/resource-manager/non-resource/examples" -start tsp compile /workspaces/typespec/packages/http-client-python/node_modules/@typespec/http-specs/specs/encode/bytes/main.tsp --emit /workspaces/typespec/packages/http-client-python --option @typespec/http-client-python.flavor="azure" --option @typespec/http-client-python.generate-test="true" --option @typespec/http-client-python.generate-sample="true" --option @typespec/http-client-python.emitter-output-dir="/workspaces/typespec/packages/http-client-python/generator/test/azure/generated/encode-bytes" --option @typespec/http-client-python.examples-dir="/workspaces/typespec/packages/http-client-python/node_modules/@typespec/http-specs/specs/encode/bytes/examples" -start tsp compile /workspaces/typespec/packages/http-client-python/node_modules/@typespec/http-specs/specs/serialization/encoded-name/json/main.tsp --emit /workspaces/typespec/packages/http-client-python --option @typespec/http-client-python.namespace="serialization.encodedname.json" --option @typespec/http-client-python.flavor="azure" --option @typespec/http-client-python.generate-test="true" --option @typespec/http-client-python.generate-sample="true" --option @typespec/http-client-python.emitter-output-dir="/workspaces/typespec/packages/http-client-python/generator/test/azure/generated/serialization-encoded-name-json" --option @typespec/http-client-python.examples-dir="/workspaces/typespec/packages/http-client-python/node_modules/@typespec/http-specs/specs/serialization/encoded-name/json/examples" -tsp compile /workspaces/typespec/packages/http-client-python/node_modules/@typespec/http-specs/specs/serialization/encoded-name/json/main.tsp --emit /workspaces/typespec/packages/http-client-python --option @typespec/http-client-python.namespace="serialization.encodedname.json" --option @typespec/http-client-python.flavor="azure" --option @typespec/http-client-python.generate-test="true" --option @typespec/http-client-python.generate-sample="true" --option @typespec/http-client-python.emitter-output-dir="/workspaces/typespec/packages/http-client-python/generator/test/azure/generated/serialization-encoded-name-json" --option @typespec/http-client-python.examples-dir="/workspaces/typespec/packages/http-client-python/node_modules/@typespec/http-specs/specs/serialization/encoded-name/json/examples" succeeded -start tsp compile /workspaces/typespec/packages/http-client-python/node_modules/@typespec/http-specs/specs/server/endpoint/not-defined/main.tsp --emit /workspaces/typespec/packages/http-client-python --option @typespec/http-client-python.flavor="azure" --option @typespec/http-client-python.generate-test="true" --option @typespec/http-client-python.generate-sample="true" --option @typespec/http-client-python.emitter-output-dir="/workspaces/typespec/packages/http-client-python/generator/test/azure/generated/server-endpoint-not-defined" --option @typespec/http-client-python.examples-dir="/workspaces/typespec/packages/http-client-python/node_modules/@typespec/http-specs/specs/server/endpoint/not-defined/examples" -tsp compile /workspaces/typespec/packages/http-client-python/node_modules/@azure-tools/azure-http-specs/specs/client/namespace/client.tsp --emit /workspaces/typespec/packages/http-client-python --option @typespec/http-client-python.flavor="azure" --option @typespec/http-client-python.generate-test="true" --option @typespec/http-client-python.generate-sample="true" --option @typespec/http-client-python.emitter-output-dir="/workspaces/typespec/packages/http-client-python/generator/test/azure/generated/client-namespace" --option @typespec/http-client-python.examples-dir="/workspaces/typespec/packages/http-client-python/node_modules/@azure-tools/azure-http-specs/specs/client/namespace/examples" succeeded -start tsp compile /workspaces/typespec/packages/http-client-python/node_modules/@azure-tools/azure-http-specs/specs/client/naming/main.tsp --emit /workspaces/typespec/packages/http-client-python --option @typespec/http-client-python.namespace="client.naming.main" --option @typespec/http-client-python.flavor="azure" --option @typespec/http-client-python.generate-test="true" --option @typespec/http-client-python.generate-sample="true" --option @typespec/http-client-python.emitter-output-dir="/workspaces/typespec/packages/http-client-python/generator/test/azure/generated/client-naming" --option @typespec/http-client-python.examples-dir="/workspaces/typespec/packages/http-client-python/node_modules/@azure-tools/azure-http-specs/specs/client/naming/examples" -tsp compile /workspaces/typespec/packages/http-client-python/node_modules/@azure-tools/azure-http-specs/specs/azure/resource-manager/non-resource/main.tsp --emit /workspaces/typespec/packages/http-client-python --option @typespec/http-client-python.flavor="azure" --option @typespec/http-client-python.generate-test="true" --option @typespec/http-client-python.generate-sample="true" --option @typespec/http-client-python.emitter-output-dir="/workspaces/typespec/packages/http-client-python/generator/test/azure/generated/azure-resource-manager-non-resource" --option @typespec/http-client-python.examples-dir="/workspaces/typespec/packages/http-client-python/node_modules/@azure-tools/azure-http-specs/specs/azure/resource-manager/non-resource/examples" succeeded -start tsp compile /workspaces/typespec/packages/http-client-python/node_modules/@azure-tools/azure-http-specs/specs/azure/resource-manager/operation-templates/main.tsp --emit /workspaces/typespec/packages/http-client-python --option @typespec/http-client-python.flavor="azure" --option @typespec/http-client-python.generate-test="true" --option @typespec/http-client-python.generate-sample="true" --option @typespec/http-client-python.emitter-output-dir="/workspaces/typespec/packages/http-client-python/generator/test/azure/generated/azure-resource-manager-operation-templates" --option @typespec/http-client-python.examples-dir="/workspaces/typespec/packages/http-client-python/node_modules/@azure-tools/azure-http-specs/specs/azure/resource-manager/operation-templates/examples" -tsp compile /workspaces/typespec/packages/http-client-python/node_modules/@typespec/http-specs/specs/encode/bytes/main.tsp --emit /workspaces/typespec/packages/http-client-python --option @typespec/http-client-python.flavor="azure" --option @typespec/http-client-python.generate-test="true" --option @typespec/http-client-python.generate-sample="true" --option @typespec/http-client-python.emitter-output-dir="/workspaces/typespec/packages/http-client-python/generator/test/azure/generated/encode-bytes" --option @typespec/http-client-python.examples-dir="/workspaces/typespec/packages/http-client-python/node_modules/@typespec/http-specs/specs/encode/bytes/examples" succeeded -start tsp compile /workspaces/typespec/packages/http-client-python/node_modules/@typespec/http-specs/specs/encode/numeric/main.tsp --emit /workspaces/typespec/packages/http-client-python --option @typespec/http-client-python.namespace="encode.numeric" --option @typespec/http-client-python.flavor="azure" --option @typespec/http-client-python.generate-test="true" --option @typespec/http-client-python.generate-sample="true" --option @typespec/http-client-python.emitter-output-dir="/workspaces/typespec/packages/http-client-python/generator/test/azure/generated/encode-numeric" --option @typespec/http-client-python.examples-dir="/workspaces/typespec/packages/http-client-python/node_modules/@typespec/http-specs/specs/encode/numeric/examples" -tsp compile /workspaces/typespec/packages/http-client-python/node_modules/@typespec/http-specs/specs/server/endpoint/not-defined/main.tsp --emit /workspaces/typespec/packages/http-client-python --option @typespec/http-client-python.flavor="azure" --option @typespec/http-client-python.generate-test="true" --option @typespec/http-client-python.generate-sample="true" --option @typespec/http-client-python.emitter-output-dir="/workspaces/typespec/packages/http-client-python/generator/test/azure/generated/server-endpoint-not-defined" --option @typespec/http-client-python.examples-dir="/workspaces/typespec/packages/http-client-python/node_modules/@typespec/http-specs/specs/server/endpoint/not-defined/examples" succeeded -start tsp compile /workspaces/typespec/packages/http-client-python/node_modules/@typespec/http-specs/specs/server/path/multiple/main.tsp --emit /workspaces/typespec/packages/http-client-python --option @typespec/http-client-python.flavor="azure" --option @typespec/http-client-python.generate-test="true" --option @typespec/http-client-python.generate-sample="true" --option @typespec/http-client-python.emitter-output-dir="/workspaces/typespec/packages/http-client-python/generator/test/azure/generated/server-path-multiple" --option @typespec/http-client-python.examples-dir="/workspaces/typespec/packages/http-client-python/node_modules/@typespec/http-specs/specs/server/path/multiple/examples" -tsp compile /workspaces/typespec/packages/http-client-python/node_modules/@azure-tools/azure-http-specs/specs/client/naming/main.tsp --emit /workspaces/typespec/packages/http-client-python --option @typespec/http-client-python.namespace="client.naming.main" --option @typespec/http-client-python.flavor="azure" --option @typespec/http-client-python.generate-test="true" --option @typespec/http-client-python.generate-sample="true" --option @typespec/http-client-python.emitter-output-dir="/workspaces/typespec/packages/http-client-python/generator/test/azure/generated/client-naming" --option @typespec/http-client-python.examples-dir="/workspaces/typespec/packages/http-client-python/node_modules/@azure-tools/azure-http-specs/specs/client/naming/examples" succeeded -start tsp compile /workspaces/typespec/packages/http-client-python/node_modules/@azure-tools/azure-http-specs/specs/client/overload/client.tsp --emit /workspaces/typespec/packages/http-client-python --option @typespec/http-client-python.namespace="client.overload" --option @typespec/http-client-python.flavor="azure" --option @typespec/http-client-python.generate-test="true" --option @typespec/http-client-python.generate-sample="true" --option @typespec/http-client-python.emitter-output-dir="/workspaces/typespec/packages/http-client-python/generator/test/azure/generated/client-overload" --option @typespec/http-client-python.examples-dir="/workspaces/typespec/packages/http-client-python/node_modules/@azure-tools/azure-http-specs/specs/client/overload/examples" -tsp compile /workspaces/typespec/packages/http-client-python/node_modules/@typespec/http-specs/specs/encode/numeric/main.tsp --emit /workspaces/typespec/packages/http-client-python --option @typespec/http-client-python.namespace="encode.numeric" --option @typespec/http-client-python.flavor="azure" --option @typespec/http-client-python.generate-test="true" --option @typespec/http-client-python.generate-sample="true" --option @typespec/http-client-python.emitter-output-dir="/workspaces/typespec/packages/http-client-python/generator/test/azure/generated/encode-numeric" --option @typespec/http-client-python.examples-dir="/workspaces/typespec/packages/http-client-python/node_modules/@typespec/http-specs/specs/encode/numeric/examples" succeeded -start tsp compile /workspaces/typespec/packages/http-client-python/node_modules/@typespec/http-specs/specs/parameters/basic/main.tsp --emit /workspaces/typespec/packages/http-client-python --option @typespec/http-client-python.namespace="parameters.basic" --option @typespec/http-client-python.flavor="azure" --option @typespec/http-client-python.generate-test="true" --option @typespec/http-client-python.generate-sample="true" --option @typespec/http-client-python.emitter-output-dir="/workspaces/typespec/packages/http-client-python/generator/test/azure/generated/parameters-basic" --option @typespec/http-client-python.examples-dir="/workspaces/typespec/packages/http-client-python/node_modules/@typespec/http-specs/specs/parameters/basic/examples" -tsp compile /workspaces/typespec/packages/http-client-python/node_modules/@typespec/http-specs/specs/server/path/multiple/main.tsp --emit /workspaces/typespec/packages/http-client-python --option @typespec/http-client-python.flavor="azure" --option @typespec/http-client-python.generate-test="true" --option @typespec/http-client-python.generate-sample="true" --option @typespec/http-client-python.emitter-output-dir="/workspaces/typespec/packages/http-client-python/generator/test/azure/generated/server-path-multiple" --option @typespec/http-client-python.examples-dir="/workspaces/typespec/packages/http-client-python/node_modules/@typespec/http-specs/specs/server/path/multiple/examples" succeeded -start tsp compile /workspaces/typespec/packages/http-client-python/node_modules/@typespec/http-specs/specs/server/path/single/main.tsp --emit /workspaces/typespec/packages/http-client-python --option @typespec/http-client-python.flavor="azure" --option @typespec/http-client-python.generate-test="true" --option @typespec/http-client-python.generate-sample="true" --option @typespec/http-client-python.emitter-output-dir="/workspaces/typespec/packages/http-client-python/generator/test/azure/generated/server-path-single" --option @typespec/http-client-python.examples-dir="/workspaces/typespec/packages/http-client-python/node_modules/@typespec/http-specs/specs/server/path/single/examples" -tsp compile /workspaces/typespec/packages/http-client-python/node_modules/@azure-tools/azure-http-specs/specs/client/overload/client.tsp --emit /workspaces/typespec/packages/http-client-python --option @typespec/http-client-python.namespace="client.overload" --option @typespec/http-client-python.flavor="azure" --option @typespec/http-client-python.generate-test="true" --option @typespec/http-client-python.generate-sample="true" --option @typespec/http-client-python.emitter-output-dir="/workspaces/typespec/packages/http-client-python/generator/test/azure/generated/client-overload" --option @typespec/http-client-python.examples-dir="/workspaces/typespec/packages/http-client-python/node_modules/@azure-tools/azure-http-specs/specs/client/overload/examples" succeeded -start tsp compile /workspaces/typespec/packages/http-client-python/node_modules/@azure-tools/azure-http-specs/specs/service/multi-service/client.tsp --emit /workspaces/typespec/packages/http-client-python --option @typespec/http-client-python.namespace="service.multiservice" --option @typespec/http-client-python.flavor="azure" --option @typespec/http-client-python.generate-test="true" --option @typespec/http-client-python.generate-sample="true" --option @typespec/http-client-python.emitter-output-dir="/workspaces/typespec/packages/http-client-python/generator/test/azure/generated/service-multi-service" --option @typespec/http-client-python.examples-dir="/workspaces/typespec/packages/http-client-python/node_modules/@azure-tools/azure-http-specs/specs/service/multi-service/examples" -tsp compile /workspaces/typespec/packages/http-client-python/node_modules/@typespec/http-specs/specs/parameters/basic/main.tsp --emit /workspaces/typespec/packages/http-client-python --option @typespec/http-client-python.namespace="parameters.basic" --option @typespec/http-client-python.flavor="azure" --option @typespec/http-client-python.generate-test="true" --option @typespec/http-client-python.generate-sample="true" --option @typespec/http-client-python.emitter-output-dir="/workspaces/typespec/packages/http-client-python/generator/test/azure/generated/parameters-basic" --option @typespec/http-client-python.examples-dir="/workspaces/typespec/packages/http-client-python/node_modules/@typespec/http-specs/specs/parameters/basic/examples" succeeded -start tsp compile /workspaces/typespec/packages/http-client-python/node_modules/@typespec/http-specs/specs/parameters/body-optionality/main.tsp --emit /workspaces/typespec/packages/http-client-python --option @typespec/http-client-python.flavor="azure" --option @typespec/http-client-python.generate-test="true" --option @typespec/http-client-python.generate-sample="true" --option @typespec/http-client-python.emitter-output-dir="/workspaces/typespec/packages/http-client-python/generator/test/azure/generated/parameters-body-optionality" --option @typespec/http-client-python.examples-dir="/workspaces/typespec/packages/http-client-python/node_modules/@typespec/http-specs/specs/parameters/body-optionality/examples" -tsp compile /workspaces/typespec/packages/http-client-python/node_modules/@azure-tools/azure-http-specs/specs/azure/resource-manager/operation-templates/main.tsp --emit /workspaces/typespec/packages/http-client-python --option @typespec/http-client-python.flavor="azure" --option @typespec/http-client-python.generate-test="true" --option @typespec/http-client-python.generate-sample="true" --option @typespec/http-client-python.emitter-output-dir="/workspaces/typespec/packages/http-client-python/generator/test/azure/generated/azure-resource-manager-operation-templates" --option @typespec/http-client-python.examples-dir="/workspaces/typespec/packages/http-client-python/node_modules/@azure-tools/azure-http-specs/specs/azure/resource-manager/operation-templates/examples" succeeded -start tsp compile /workspaces/typespec/packages/http-client-python/node_modules/@azure-tools/azure-http-specs/specs/azure/resource-manager/resources/main.tsp --emit /workspaces/typespec/packages/http-client-python --option @typespec/http-client-python.flavor="azure" --option @typespec/http-client-python.generate-test="true" --option @typespec/http-client-python.generate-sample="true" --option @typespec/http-client-python.emitter-output-dir="/workspaces/typespec/packages/http-client-python/generator/test/azure/generated/azure-resource-manager-resources" --option @typespec/http-client-python.examples-dir="/workspaces/typespec/packages/http-client-python/node_modules/@azure-tools/azure-http-specs/specs/azure/resource-manager/resources/examples" -tsp compile /workspaces/typespec/packages/http-client-python/node_modules/@typespec/http-specs/specs/server/path/single/main.tsp --emit /workspaces/typespec/packages/http-client-python --option @typespec/http-client-python.flavor="azure" --option @typespec/http-client-python.generate-test="true" --option @typespec/http-client-python.generate-sample="true" --option @typespec/http-client-python.emitter-output-dir="/workspaces/typespec/packages/http-client-python/generator/test/azure/generated/server-path-single" --option @typespec/http-client-python.examples-dir="/workspaces/typespec/packages/http-client-python/node_modules/@typespec/http-specs/specs/server/path/single/examples" succeeded -start tsp compile /workspaces/typespec/packages/http-client-python/node_modules/@typespec/http-specs/specs/server/versions/not-versioned/main.tsp --emit /workspaces/typespec/packages/http-client-python --option @typespec/http-client-python.flavor="azure" --option @typespec/http-client-python.generate-test="true" --option @typespec/http-client-python.generate-sample="true" --option @typespec/http-client-python.emitter-output-dir="/workspaces/typespec/packages/http-client-python/generator/test/azure/generated/server-versions-not-versioned" --option @typespec/http-client-python.examples-dir="/workspaces/typespec/packages/http-client-python/node_modules/@typespec/http-specs/specs/server/versions/not-versioned/examples" -tsp compile /workspaces/typespec/packages/http-client-python/node_modules/@azure-tools/azure-http-specs/specs/service/multi-service/client.tsp --emit /workspaces/typespec/packages/http-client-python --option @typespec/http-client-python.namespace="service.multiservice" --option @typespec/http-client-python.flavor="azure" --option @typespec/http-client-python.generate-test="true" --option @typespec/http-client-python.generate-sample="true" --option @typespec/http-client-python.emitter-output-dir="/workspaces/typespec/packages/http-client-python/generator/test/azure/generated/service-multi-service" --option @typespec/http-client-python.examples-dir="/workspaces/typespec/packages/http-client-python/node_modules/@azure-tools/azure-http-specs/specs/service/multi-service/examples" succeeded -start tsp compile /workspaces/typespec/packages/http-client-python/node_modules/@azure-tools/azure-http-specs/specs/resiliency/srv-driven/old.tsp --emit /workspaces/typespec/packages/http-client-python --option @typespec/http-client-python.package-name="resiliency-srv-driven1" --option @typespec/http-client-python.namespace="resiliency.srv.driven1" --option @typespec/http-client-python.package-mode="azure-dataplane" --option @typespec/http-client-python.package-pprint-name="ResiliencySrvDriven1" --option @typespec/http-client-python.flavor="azure" --option @typespec/http-client-python.generate-test="true" --option @typespec/http-client-python.generate-sample="true" --option @typespec/http-client-python.emitter-output-dir="/workspaces/typespec/packages/http-client-python/generator/test/azure/generated/resiliency-srv-driven1" --option @typespec/http-client-python.examples-dir="/workspaces/typespec/packages/http-client-python/node_modules/@azure-tools/azure-http-specs/specs/resiliency/srv-driven/examples" -tsp compile /workspaces/typespec/packages/http-client-python/node_modules/@typespec/http-specs/specs/parameters/body-optionality/main.tsp --emit /workspaces/typespec/packages/http-client-python --option @typespec/http-client-python.flavor="azure" --option @typespec/http-client-python.generate-test="true" --option @typespec/http-client-python.generate-sample="true" --option @typespec/http-client-python.emitter-output-dir="/workspaces/typespec/packages/http-client-python/generator/test/azure/generated/parameters-body-optionality" --option @typespec/http-client-python.examples-dir="/workspaces/typespec/packages/http-client-python/node_modules/@typespec/http-specs/specs/parameters/body-optionality/examples" succeeded -start tsp compile /workspaces/typespec/packages/http-client-python/node_modules/@typespec/http-specs/specs/parameters/collection-format/main.tsp --emit /workspaces/typespec/packages/http-client-python --option @typespec/http-client-python.flavor="azure" --option @typespec/http-client-python.generate-test="true" --option @typespec/http-client-python.generate-sample="true" --option @typespec/http-client-python.emitter-output-dir="/workspaces/typespec/packages/http-client-python/generator/test/azure/generated/parameters-collection-format" --option @typespec/http-client-python.examples-dir="/workspaces/typespec/packages/http-client-python/node_modules/@typespec/http-specs/specs/parameters/collection-format/examples" -tsp compile /workspaces/typespec/packages/http-client-python/node_modules/@typespec/http-specs/specs/server/versions/not-versioned/main.tsp --emit /workspaces/typespec/packages/http-client-python --option @typespec/http-client-python.flavor="azure" --option @typespec/http-client-python.generate-test="true" --option @typespec/http-client-python.generate-sample="true" --option @typespec/http-client-python.emitter-output-dir="/workspaces/typespec/packages/http-client-python/generator/test/azure/generated/server-versions-not-versioned" --option @typespec/http-client-python.examples-dir="/workspaces/typespec/packages/http-client-python/node_modules/@typespec/http-specs/specs/server/versions/not-versioned/examples" succeeded -start tsp compile /workspaces/typespec/packages/http-client-python/node_modules/@typespec/http-specs/specs/server/versions/versioned/main.tsp --emit /workspaces/typespec/packages/http-client-python --option @typespec/http-client-python.flavor="azure" --option @typespec/http-client-python.generate-test="true" --option @typespec/http-client-python.generate-sample="true" --option @typespec/http-client-python.emitter-output-dir="/workspaces/typespec/packages/http-client-python/generator/test/azure/generated/server-versions-versioned" --option @typespec/http-client-python.examples-dir="/workspaces/typespec/packages/http-client-python/node_modules/@typespec/http-specs/specs/server/versions/versioned/examples" -tsp compile /workspaces/typespec/packages/http-client-python/node_modules/@azure-tools/azure-http-specs/specs/resiliency/srv-driven/old.tsp --emit /workspaces/typespec/packages/http-client-python --option @typespec/http-client-python.package-name="resiliency-srv-driven1" --option @typespec/http-client-python.namespace="resiliency.srv.driven1" --option @typespec/http-client-python.package-mode="azure-dataplane" --option @typespec/http-client-python.package-pprint-name="ResiliencySrvDriven1" --option @typespec/http-client-python.flavor="azure" --option @typespec/http-client-python.generate-test="true" --option @typespec/http-client-python.generate-sample="true" --option @typespec/http-client-python.emitter-output-dir="/workspaces/typespec/packages/http-client-python/generator/test/azure/generated/resiliency-srv-driven1" --option @typespec/http-client-python.examples-dir="/workspaces/typespec/packages/http-client-python/node_modules/@azure-tools/azure-http-specs/specs/resiliency/srv-driven/examples" succeeded -start tsp compile /workspaces/typespec/packages/http-client-python/node_modules/@azure-tools/azure-http-specs/specs/resiliency/srv-driven/main.tsp --emit /workspaces/typespec/packages/http-client-python --option @typespec/http-client-python.package-name="resiliency-srv-driven2" --option @typespec/http-client-python.namespace="resiliency.srv.driven2" --option @typespec/http-client-python.package-mode="azure-dataplane" --option @typespec/http-client-python.package-pprint-name="ResiliencySrvDriven2" --option @typespec/http-client-python.flavor="azure" --option @typespec/http-client-python.generate-test="true" --option @typespec/http-client-python.generate-sample="true" --option @typespec/http-client-python.emitter-output-dir="/workspaces/typespec/packages/http-client-python/generator/test/azure/generated/resiliency-srv-driven2" --option @typespec/http-client-python.examples-dir="/workspaces/typespec/packages/http-client-python/node_modules/@azure-tools/azure-http-specs/specs/resiliency/srv-driven/examples" -tsp compile /workspaces/typespec/packages/http-client-python/node_modules/@typespec/http-specs/specs/parameters/collection-format/main.tsp --emit /workspaces/typespec/packages/http-client-python --option @typespec/http-client-python.flavor="azure" --option @typespec/http-client-python.generate-test="true" --option @typespec/http-client-python.generate-sample="true" --option @typespec/http-client-python.emitter-output-dir="/workspaces/typespec/packages/http-client-python/generator/test/azure/generated/parameters-collection-format" --option @typespec/http-client-python.examples-dir="/workspaces/typespec/packages/http-client-python/node_modules/@typespec/http-specs/specs/parameters/collection-format/examples" succeeded -start tsp compile /workspaces/typespec/packages/http-client-python/node_modules/@typespec/http-specs/specs/parameters/path/main.tsp --emit /workspaces/typespec/packages/http-client-python --option @typespec/http-client-python.flavor="azure" --option @typespec/http-client-python.generate-test="true" --option @typespec/http-client-python.generate-sample="true" --option @typespec/http-client-python.emitter-output-dir="/workspaces/typespec/packages/http-client-python/generator/test/azure/generated/parameters-path" --option @typespec/http-client-python.examples-dir="/workspaces/typespec/packages/http-client-python/node_modules/@typespec/http-specs/specs/parameters/path/examples" -tsp compile /workspaces/typespec/packages/http-client-python/node_modules/@typespec/http-specs/specs/server/versions/versioned/main.tsp --emit /workspaces/typespec/packages/http-client-python --option @typespec/http-client-python.flavor="azure" --option @typespec/http-client-python.generate-test="true" --option @typespec/http-client-python.generate-sample="true" --option @typespec/http-client-python.emitter-output-dir="/workspaces/typespec/packages/http-client-python/generator/test/azure/generated/server-versions-versioned" --option @typespec/http-client-python.examples-dir="/workspaces/typespec/packages/http-client-python/node_modules/@typespec/http-specs/specs/server/versions/versioned/examples" succeeded -start tsp compile /workspaces/typespec/packages/http-client-python/node_modules/@typespec/http-specs/specs/type/enum/extensible/main.tsp --emit /workspaces/typespec/packages/http-client-python --option @typespec/http-client-python.package-name="typetest-enum-extensible" --option @typespec/http-client-python.namespace="typetest.enum.extensible" --option @typespec/http-client-python.flavor="azure" --option @typespec/http-client-python.generate-test="true" --option @typespec/http-client-python.generate-sample="true" --option @typespec/http-client-python.emitter-output-dir="/workspaces/typespec/packages/http-client-python/generator/test/azure/generated/typetest-enum-extensible" --option @typespec/http-client-python.examples-dir="/workspaces/typespec/packages/http-client-python/node_modules/@typespec/http-specs/specs/type/enum/extensible/examples" -tsp compile /workspaces/typespec/packages/http-client-python/node_modules/@azure-tools/azure-http-specs/specs/resiliency/srv-driven/main.tsp --emit /workspaces/typespec/packages/http-client-python --option @typespec/http-client-python.package-name="resiliency-srv-driven2" --option @typespec/http-client-python.namespace="resiliency.srv.driven2" --option @typespec/http-client-python.package-mode="azure-dataplane" --option @typespec/http-client-python.package-pprint-name="ResiliencySrvDriven2" --option @typespec/http-client-python.flavor="azure" --option @typespec/http-client-python.generate-test="true" --option @typespec/http-client-python.generate-sample="true" --option @typespec/http-client-python.emitter-output-dir="/workspaces/typespec/packages/http-client-python/generator/test/azure/generated/resiliency-srv-driven2" --option @typespec/http-client-python.examples-dir="/workspaces/typespec/packages/http-client-python/node_modules/@azure-tools/azure-http-specs/specs/resiliency/srv-driven/examples" succeeded -start tsp compile /workspaces/typespec/packages/http-client-python/node_modules/@azure-tools/azure-http-specs/specs/azure/client-generator-core/access/main.tsp --emit /workspaces/typespec/packages/http-client-python --option @typespec/http-client-python.namespace="specs.azure.clientgenerator.core.access" --option @typespec/http-client-python.flavor="azure" --option @typespec/http-client-python.generate-test="true" --option @typespec/http-client-python.generate-sample="true" --option @typespec/http-client-python.emitter-output-dir="/workspaces/typespec/packages/http-client-python/generator/test/azure/generated/azure-client-generator-core-access" --option @typespec/http-client-python.examples-dir="/workspaces/typespec/packages/http-client-python/node_modules/@azure-tools/azure-http-specs/specs/azure/client-generator-core/access/examples" -tsp compile /workspaces/typespec/packages/http-client-python/node_modules/@typespec/http-specs/specs/parameters/path/main.tsp --emit /workspaces/typespec/packages/http-client-python --option @typespec/http-client-python.flavor="azure" --option @typespec/http-client-python.generate-test="true" --option @typespec/http-client-python.generate-sample="true" --option @typespec/http-client-python.emitter-output-dir="/workspaces/typespec/packages/http-client-python/generator/test/azure/generated/parameters-path" --option @typespec/http-client-python.examples-dir="/workspaces/typespec/packages/http-client-python/node_modules/@typespec/http-specs/specs/parameters/path/examples" succeeded -start tsp compile /workspaces/typespec/packages/http-client-python/node_modules/@typespec/http-specs/specs/parameters/query/main.tsp --emit /workspaces/typespec/packages/http-client-python --option @typespec/http-client-python.flavor="azure" --option @typespec/http-client-python.generate-test="true" --option @typespec/http-client-python.generate-sample="true" --option @typespec/http-client-python.emitter-output-dir="/workspaces/typespec/packages/http-client-python/generator/test/azure/generated/parameters-query" --option @typespec/http-client-python.examples-dir="/workspaces/typespec/packages/http-client-python/node_modules/@typespec/http-specs/specs/parameters/query/examples" -tsp compile /workspaces/typespec/packages/http-client-python/node_modules/@typespec/http-specs/specs/type/enum/extensible/main.tsp --emit /workspaces/typespec/packages/http-client-python --option @typespec/http-client-python.package-name="typetest-enum-extensible" --option @typespec/http-client-python.namespace="typetest.enum.extensible" --option @typespec/http-client-python.flavor="azure" --option @typespec/http-client-python.generate-test="true" --option @typespec/http-client-python.generate-sample="true" --option @typespec/http-client-python.emitter-output-dir="/workspaces/typespec/packages/http-client-python/generator/test/azure/generated/typetest-enum-extensible" --option @typespec/http-client-python.examples-dir="/workspaces/typespec/packages/http-client-python/node_modules/@typespec/http-specs/specs/type/enum/extensible/examples" succeeded -start tsp compile /workspaces/typespec/packages/http-client-python/node_modules/@typespec/http-specs/specs/type/enum/fixed/main.tsp --emit /workspaces/typespec/packages/http-client-python --option @typespec/http-client-python.package-name="typetest-enum-fixed" --option @typespec/http-client-python.namespace="typetest.enum.fixed" --option @typespec/http-client-python.flavor="azure" --option @typespec/http-client-python.generate-test="true" --option @typespec/http-client-python.generate-sample="true" --option @typespec/http-client-python.emitter-output-dir="/workspaces/typespec/packages/http-client-python/generator/test/azure/generated/typetest-enum-fixed" --option @typespec/http-client-python.examples-dir="/workspaces/typespec/packages/http-client-python/node_modules/@typespec/http-specs/specs/type/enum/fixed/examples" -tsp compile /workspaces/typespec/packages/http-client-python/node_modules/@typespec/http-specs/specs/parameters/query/main.tsp --emit /workspaces/typespec/packages/http-client-python --option @typespec/http-client-python.flavor="azure" --option @typespec/http-client-python.generate-test="true" --option @typespec/http-client-python.generate-sample="true" --option @typespec/http-client-python.emitter-output-dir="/workspaces/typespec/packages/http-client-python/generator/test/azure/generated/parameters-query" --option @typespec/http-client-python.examples-dir="/workspaces/typespec/packages/http-client-python/node_modules/@typespec/http-specs/specs/parameters/query/examples" succeeded -start tsp compile /workspaces/typespec/packages/http-client-python/node_modules/@typespec/http-specs/specs/parameters/spread/main.tsp --emit /workspaces/typespec/packages/http-client-python --option @typespec/http-client-python.namespace="parameters.spread" --option @typespec/http-client-python.flavor="azure" --option @typespec/http-client-python.generate-test="true" --option @typespec/http-client-python.generate-sample="true" --option @typespec/http-client-python.emitter-output-dir="/workspaces/typespec/packages/http-client-python/generator/test/azure/generated/parameters-spread" --option @typespec/http-client-python.examples-dir="/workspaces/typespec/packages/http-client-python/node_modules/@typespec/http-specs/specs/parameters/spread/examples" -tsp compile /workspaces/typespec/packages/http-client-python/node_modules/@azure-tools/azure-http-specs/specs/azure/client-generator-core/access/main.tsp --emit /workspaces/typespec/packages/http-client-python --option @typespec/http-client-python.namespace="specs.azure.clientgenerator.core.access" --option @typespec/http-client-python.flavor="azure" --option @typespec/http-client-python.generate-test="true" --option @typespec/http-client-python.generate-sample="true" --option @typespec/http-client-python.emitter-output-dir="/workspaces/typespec/packages/http-client-python/generator/test/azure/generated/azure-client-generator-core-access" --option @typespec/http-client-python.examples-dir="/workspaces/typespec/packages/http-client-python/node_modules/@azure-tools/azure-http-specs/specs/azure/client-generator-core/access/examples" succeeded -start tsp compile /workspaces/typespec/packages/http-client-python/node_modules/@azure-tools/azure-http-specs/specs/azure/client-generator-core/alternate-type/client.tsp --emit /workspaces/typespec/packages/http-client-python --option @typespec/http-client-python.namespace="specs.azure.clientgenerator.core.alternatetype" --option @typespec/http-client-python.flavor="azure" --option @typespec/http-client-python.generate-test="true" --option @typespec/http-client-python.generate-sample="true" --option @typespec/http-client-python.emitter-output-dir="/workspaces/typespec/packages/http-client-python/generator/test/azure/generated/azure-client-generator-core-alternate-type" --option @typespec/http-client-python.examples-dir="/workspaces/typespec/packages/http-client-python/node_modules/@azure-tools/azure-http-specs/specs/azure/client-generator-core/alternate-type/examples" -tsp compile /workspaces/typespec/packages/http-client-python/node_modules/@azure-tools/azure-http-specs/specs/azure/resource-manager/resources/main.tsp --emit /workspaces/typespec/packages/http-client-python --option @typespec/http-client-python.flavor="azure" --option @typespec/http-client-python.generate-test="true" --option @typespec/http-client-python.generate-sample="true" --option @typespec/http-client-python.emitter-output-dir="/workspaces/typespec/packages/http-client-python/generator/test/azure/generated/azure-resource-manager-resources" --option @typespec/http-client-python.examples-dir="/workspaces/typespec/packages/http-client-python/node_modules/@azure-tools/azure-http-specs/specs/azure/resource-manager/resources/examples" succeeded -start tsp compile /workspaces/typespec/packages/http-client-python/node_modules/@azure-tools/azure-http-specs/specs/azure/special-headers/client-request-id/main.tsp --emit /workspaces/typespec/packages/http-client-python --option @typespec/http-client-python.flavor="azure" --option @typespec/http-client-python.generate-test="true" --option @typespec/http-client-python.generate-sample="true" --option @typespec/http-client-python.emitter-output-dir="/workspaces/typespec/packages/http-client-python/generator/test/azure/generated/azure-special-headers-client-request-id" --option @typespec/http-client-python.examples-dir="/workspaces/typespec/packages/http-client-python/node_modules/@azure-tools/azure-http-specs/specs/azure/special-headers/client-request-id/examples" -tsp compile /workspaces/typespec/packages/http-client-python/node_modules/@typespec/http-specs/specs/type/enum/fixed/main.tsp --emit /workspaces/typespec/packages/http-client-python --option @typespec/http-client-python.package-name="typetest-enum-fixed" --option @typespec/http-client-python.namespace="typetest.enum.fixed" --option @typespec/http-client-python.flavor="azure" --option @typespec/http-client-python.generate-test="true" --option @typespec/http-client-python.generate-sample="true" --option @typespec/http-client-python.emitter-output-dir="/workspaces/typespec/packages/http-client-python/generator/test/azure/generated/typetest-enum-fixed" --option @typespec/http-client-python.examples-dir="/workspaces/typespec/packages/http-client-python/node_modules/@typespec/http-specs/specs/type/enum/fixed/examples" succeeded -start tsp compile /workspaces/typespec/packages/http-client-python/node_modules/@typespec/http-specs/specs/type/model/empty/main.tsp --emit /workspaces/typespec/packages/http-client-python --option @typespec/http-client-python.package-name="typetest-model-empty" --option @typespec/http-client-python.namespace="typetest.model.empty" --option @typespec/http-client-python.flavor="azure" --option @typespec/http-client-python.generate-test="true" --option @typespec/http-client-python.generate-sample="true" --option @typespec/http-client-python.emitter-output-dir="/workspaces/typespec/packages/http-client-python/generator/test/azure/generated/typetest-model-empty" --option @typespec/http-client-python.examples-dir="/workspaces/typespec/packages/http-client-python/node_modules/@typespec/http-specs/specs/type/model/empty/examples" -tsp compile /workspaces/typespec/packages/http-client-python/node_modules/@azure-tools/azure-http-specs/specs/azure/client-generator-core/alternate-type/client.tsp --emit /workspaces/typespec/packages/http-client-python --option @typespec/http-client-python.namespace="specs.azure.clientgenerator.core.alternatetype" --option @typespec/http-client-python.flavor="azure" --option @typespec/http-client-python.generate-test="true" --option @typespec/http-client-python.generate-sample="true" --option @typespec/http-client-python.emitter-output-dir="/workspaces/typespec/packages/http-client-python/generator/test/azure/generated/azure-client-generator-core-alternate-type" --option @typespec/http-client-python.examples-dir="/workspaces/typespec/packages/http-client-python/node_modules/@azure-tools/azure-http-specs/specs/azure/client-generator-core/alternate-type/examples" succeeded -start tsp compile /workspaces/typespec/packages/http-client-python/node_modules/@azure-tools/azure-http-specs/specs/azure/client-generator-core/client-default-value/main.tsp --emit /workspaces/typespec/packages/http-client-python --option @typespec/http-client-python.flavor="azure" --option @typespec/http-client-python.generate-test="true" --option @typespec/http-client-python.generate-sample="true" --option @typespec/http-client-python.emitter-output-dir="/workspaces/typespec/packages/http-client-python/generator/test/azure/generated/azure-client-generator-core-client-default-value" --option @typespec/http-client-python.examples-dir="/workspaces/typespec/packages/http-client-python/node_modules/@azure-tools/azure-http-specs/specs/azure/client-generator-core/client-default-value/examples" -tsp compile /workspaces/typespec/packages/http-client-python/node_modules/@azure-tools/azure-http-specs/specs/azure/special-headers/client-request-id/main.tsp --emit /workspaces/typespec/packages/http-client-python --option @typespec/http-client-python.flavor="azure" --option @typespec/http-client-python.generate-test="true" --option @typespec/http-client-python.generate-sample="true" --option @typespec/http-client-python.emitter-output-dir="/workspaces/typespec/packages/http-client-python/generator/test/azure/generated/azure-special-headers-client-request-id" --option @typespec/http-client-python.examples-dir="/workspaces/typespec/packages/http-client-python/node_modules/@azure-tools/azure-http-specs/specs/azure/special-headers/client-request-id/examples" succeeded -start tsp compile /workspaces/typespec/packages/http-client-python/node_modules/@azure-tools/azure-http-specs/specs/azure/versioning/previewVersion/main.tsp --emit /workspaces/typespec/packages/http-client-python --option @typespec/http-client-python.namespace="specs.azure.versioning.previewversion" --option @typespec/http-client-python.flavor="azure" --option @typespec/http-client-python.generate-test="true" --option @typespec/http-client-python.generate-sample="true" --option @typespec/http-client-python.emitter-output-dir="/workspaces/typespec/packages/http-client-python/generator/test/azure/generated/azure-versioning-previewversion" --option @typespec/http-client-python.examples-dir="/workspaces/typespec/packages/http-client-python/node_modules/@azure-tools/azure-http-specs/specs/azure/versioning/previewVersion/examples" -tsp compile /workspaces/typespec/packages/http-client-python/node_modules/@typespec/http-specs/specs/parameters/spread/main.tsp --emit /workspaces/typespec/packages/http-client-python --option @typespec/http-client-python.namespace="parameters.spread" --option @typespec/http-client-python.flavor="azure" --option @typespec/http-client-python.generate-test="true" --option @typespec/http-client-python.generate-sample="true" --option @typespec/http-client-python.emitter-output-dir="/workspaces/typespec/packages/http-client-python/generator/test/azure/generated/parameters-spread" --option @typespec/http-client-python.examples-dir="/workspaces/typespec/packages/http-client-python/node_modules/@typespec/http-specs/specs/parameters/spread/examples" succeeded -start tsp compile /workspaces/typespec/packages/http-client-python/node_modules/@typespec/http-specs/specs/payload/json-merge-patch/main.tsp --emit /workspaces/typespec/packages/http-client-python --option @typespec/http-client-python.flavor="azure" --option @typespec/http-client-python.generate-test="true" --option @typespec/http-client-python.generate-sample="true" --option @typespec/http-client-python.emitter-output-dir="/workspaces/typespec/packages/http-client-python/generator/test/azure/generated/payload-json-merge-patch" --option @typespec/http-client-python.examples-dir="/workspaces/typespec/packages/http-client-python/node_modules/@typespec/http-specs/specs/payload/json-merge-patch/examples" -tsp compile /workspaces/typespec/packages/http-client-python/node_modules/@typespec/http-specs/specs/type/model/empty/main.tsp --emit /workspaces/typespec/packages/http-client-python --option @typespec/http-client-python.package-name="typetest-model-empty" --option @typespec/http-client-python.namespace="typetest.model.empty" --option @typespec/http-client-python.flavor="azure" --option @typespec/http-client-python.generate-test="true" --option @typespec/http-client-python.generate-sample="true" --option @typespec/http-client-python.emitter-output-dir="/workspaces/typespec/packages/http-client-python/generator/test/azure/generated/typetest-model-empty" --option @typespec/http-client-python.examples-dir="/workspaces/typespec/packages/http-client-python/node_modules/@typespec/http-specs/specs/type/model/empty/examples" succeeded -start tsp compile /workspaces/typespec/packages/http-client-python/node_modules/@typespec/http-specs/specs/type/model/usage/main.tsp --emit /workspaces/typespec/packages/http-client-python --option @typespec/http-client-python.package-name="typetest-model-usage" --option @typespec/http-client-python.namespace="typetest.model.usage" --option @typespec/http-client-python.flavor="azure" --option @typespec/http-client-python.generate-test="true" --option @typespec/http-client-python.generate-sample="true" --option @typespec/http-client-python.emitter-output-dir="/workspaces/typespec/packages/http-client-python/generator/test/azure/generated/typetest-model-usage" --option @typespec/http-client-python.examples-dir="/workspaces/typespec/packages/http-client-python/node_modules/@typespec/http-specs/specs/type/model/usage/examples" -tsp compile /workspaces/typespec/packages/http-client-python/node_modules/@azure-tools/azure-http-specs/specs/azure/client-generator-core/client-default-value/main.tsp --emit /workspaces/typespec/packages/http-client-python --option @typespec/http-client-python.flavor="azure" --option @typespec/http-client-python.generate-test="true" --option @typespec/http-client-python.generate-sample="true" --option @typespec/http-client-python.emitter-output-dir="/workspaces/typespec/packages/http-client-python/generator/test/azure/generated/azure-client-generator-core-client-default-value" --option @typespec/http-client-python.examples-dir="/workspaces/typespec/packages/http-client-python/node_modules/@azure-tools/azure-http-specs/specs/azure/client-generator-core/client-default-value/examples" succeeded -start tsp compile /workspaces/typespec/packages/http-client-python/node_modules/@azure-tools/azure-http-specs/specs/azure/client-generator-core/client-initialization/client.tsp --emit /workspaces/typespec/packages/http-client-python --option @typespec/http-client-python.namespace="specs.azure.clientgenerator.core.clientinitialization" --option @typespec/http-client-python.flavor="azure" --option @typespec/http-client-python.generate-test="true" --option @typespec/http-client-python.generate-sample="true" --option @typespec/http-client-python.emitter-output-dir="/workspaces/typespec/packages/http-client-python/generator/test/azure/generated/azure-client-generator-core-client-initialization" --option @typespec/http-client-python.examples-dir="/workspaces/typespec/packages/http-client-python/node_modules/@azure-tools/azure-http-specs/specs/azure/client-generator-core/client-initialization/examples" -tsp compile /workspaces/typespec/packages/http-client-python/node_modules/@typespec/http-specs/specs/payload/json-merge-patch/main.tsp --emit /workspaces/typespec/packages/http-client-python --option @typespec/http-client-python.flavor="azure" --option @typespec/http-client-python.generate-test="true" --option @typespec/http-client-python.generate-sample="true" --option @typespec/http-client-python.emitter-output-dir="/workspaces/typespec/packages/http-client-python/generator/test/azure/generated/payload-json-merge-patch" --option @typespec/http-client-python.examples-dir="/workspaces/typespec/packages/http-client-python/node_modules/@typespec/http-specs/specs/payload/json-merge-patch/examples" succeeded -start tsp compile /workspaces/typespec/packages/http-client-python/node_modules/@typespec/http-specs/specs/payload/content-negotiation/main.tsp --emit /workspaces/typespec/packages/http-client-python --option @typespec/http-client-python.namespace="payload.contentnegotiation" --option @typespec/http-client-python.flavor="azure" --option @typespec/http-client-python.generate-test="true" --option @typespec/http-client-python.generate-sample="true" --option @typespec/http-client-python.emitter-output-dir="/workspaces/typespec/packages/http-client-python/generator/test/azure/generated/payload-content-negotiation" --option @typespec/http-client-python.examples-dir="/workspaces/typespec/packages/http-client-python/node_modules/@typespec/http-specs/specs/payload/content-negotiation/examples" -tsp compile /workspaces/typespec/packages/http-client-python/node_modules/@azure-tools/azure-http-specs/specs/azure/versioning/previewVersion/main.tsp --emit /workspaces/typespec/packages/http-client-python --option @typespec/http-client-python.namespace="specs.azure.versioning.previewversion" --option @typespec/http-client-python.flavor="azure" --option @typespec/http-client-python.generate-test="true" --option @typespec/http-client-python.generate-sample="true" --option @typespec/http-client-python.emitter-output-dir="/workspaces/typespec/packages/http-client-python/generator/test/azure/generated/azure-versioning-previewversion" --option @typespec/http-client-python.examples-dir="/workspaces/typespec/packages/http-client-python/node_modules/@azure-tools/azure-http-specs/specs/azure/versioning/previewVersion/examples" succeeded -start tsp compile /workspaces/typespec/packages/http-client-python/node_modules/@azure-tools/azure-http-specs/specs/client/naming/enum-conflict/client.tsp --emit /workspaces/typespec/packages/http-client-python --option @typespec/http-client-python.flavor="azure" --option @typespec/http-client-python.generate-test="true" --option @typespec/http-client-python.generate-sample="true" --option @typespec/http-client-python.emitter-output-dir="/workspaces/typespec/packages/http-client-python/generator/test/azure/generated/client-naming-enum-conflict" --option @typespec/http-client-python.examples-dir="/workspaces/typespec/packages/http-client-python/node_modules/@azure-tools/azure-http-specs/specs/client/naming/enum-conflict/examples" -tsp compile /workspaces/typespec/packages/http-client-python/node_modules/@typespec/http-specs/specs/type/model/usage/main.tsp --emit /workspaces/typespec/packages/http-client-python --option @typespec/http-client-python.package-name="typetest-model-usage" --option @typespec/http-client-python.namespace="typetest.model.usage" --option @typespec/http-client-python.flavor="azure" --option @typespec/http-client-python.generate-test="true" --option @typespec/http-client-python.generate-sample="true" --option @typespec/http-client-python.emitter-output-dir="/workspaces/typespec/packages/http-client-python/generator/test/azure/generated/typetest-model-usage" --option @typespec/http-client-python.examples-dir="/workspaces/typespec/packages/http-client-python/node_modules/@typespec/http-specs/specs/type/model/usage/examples" succeeded -start tsp compile /workspaces/typespec/packages/http-client-python/node_modules/@typespec/http-specs/specs/type/model/visibility/main.tsp --emit /workspaces/typespec/packages/http-client-python --option @typespec/http-client-python.package-name="typetest-model-visibility" --option @typespec/http-client-python.namespace="typetest.model.visibility" --option @typespec/http-client-python.flavor="azure" --option @typespec/http-client-python.generate-test="true" --option @typespec/http-client-python.generate-sample="true" --option @typespec/http-client-python.emitter-output-dir="/workspaces/typespec/packages/http-client-python/generator/test/azure/generated/typetest-model-visibility" --option @typespec/http-client-python.examples-dir="/workspaces/typespec/packages/http-client-python/node_modules/@typespec/http-specs/specs/type/model/visibility/examples" -tsp compile /workspaces/typespec/packages/http-client-python/node_modules/@typespec/http-specs/specs/payload/content-negotiation/main.tsp --emit /workspaces/typespec/packages/http-client-python --option @typespec/http-client-python.namespace="payload.contentnegotiation" --option @typespec/http-client-python.flavor="azure" --option @typespec/http-client-python.generate-test="true" --option @typespec/http-client-python.generate-sample="true" --option @typespec/http-client-python.emitter-output-dir="/workspaces/typespec/packages/http-client-python/generator/test/azure/generated/payload-content-negotiation" --option @typespec/http-client-python.examples-dir="/workspaces/typespec/packages/http-client-python/node_modules/@typespec/http-specs/specs/payload/content-negotiation/examples" succeeded -start tsp compile /workspaces/typespec/packages/http-client-python/node_modules/@typespec/http-specs/specs/payload/media-type/main.tsp --emit /workspaces/typespec/packages/http-client-python --option @typespec/http-client-python.flavor="azure" --option @typespec/http-client-python.generate-test="true" --option @typespec/http-client-python.generate-sample="true" --option @typespec/http-client-python.emitter-output-dir="/workspaces/typespec/packages/http-client-python/generator/test/azure/generated/payload-media-type" --option @typespec/http-client-python.examples-dir="/workspaces/typespec/packages/http-client-python/node_modules/@typespec/http-specs/specs/payload/media-type/examples" -tsp compile /workspaces/typespec/packages/http-client-python/node_modules/@azure-tools/azure-http-specs/specs/azure/client-generator-core/client-initialization/client.tsp --emit /workspaces/typespec/packages/http-client-python --option @typespec/http-client-python.namespace="specs.azure.clientgenerator.core.clientinitialization" --option @typespec/http-client-python.flavor="azure" --option @typespec/http-client-python.generate-test="true" --option @typespec/http-client-python.generate-sample="true" --option @typespec/http-client-python.emitter-output-dir="/workspaces/typespec/packages/http-client-python/generator/test/azure/generated/azure-client-generator-core-client-initialization" --option @typespec/http-client-python.examples-dir="/workspaces/typespec/packages/http-client-python/node_modules/@azure-tools/azure-http-specs/specs/azure/client-generator-core/client-initialization/examples" succeeded -start tsp compile /workspaces/typespec/packages/http-client-python/node_modules/@azure-tools/azure-http-specs/specs/azure/client-generator-core/deserialize-empty-string-as-null/main.tsp --emit /workspaces/typespec/packages/http-client-python --option @typespec/http-client-python.namespace="specs.azure.clientgenerator.core.emptystring" --option @typespec/http-client-python.flavor="azure" --option @typespec/http-client-python.generate-test="true" --option @typespec/http-client-python.generate-sample="true" --option @typespec/http-client-python.emitter-output-dir="/workspaces/typespec/packages/http-client-python/generator/test/azure/generated/azure-client-generator-core-deserialize-empty-string-as-null" --option @typespec/http-client-python.examples-dir="/workspaces/typespec/packages/http-client-python/node_modules/@azure-tools/azure-http-specs/specs/azure/client-generator-core/deserialize-empty-string-as-null/examples" -tsp compile /workspaces/typespec/packages/http-client-python/node_modules/@azure-tools/azure-http-specs/specs/client/naming/enum-conflict/client.tsp --emit /workspaces/typespec/packages/http-client-python --option @typespec/http-client-python.flavor="azure" --option @typespec/http-client-python.generate-test="true" --option @typespec/http-client-python.generate-sample="true" --option @typespec/http-client-python.emitter-output-dir="/workspaces/typespec/packages/http-client-python/generator/test/azure/generated/client-naming-enum-conflict" --option @typespec/http-client-python.examples-dir="/workspaces/typespec/packages/http-client-python/node_modules/@azure-tools/azure-http-specs/specs/client/naming/enum-conflict/examples" succeeded -start tsp compile /workspaces/typespec/packages/http-client-python/node_modules/@azure-tools/azure-http-specs/specs/client/structure/client-operation-group/client.tsp --emit /workspaces/typespec/packages/http-client-python --option @typespec/http-client-python.package-name="client-structure-clientoperationgroup" --option @typespec/http-client-python.namespace="client.structure.clientoperationgroup" --option @typespec/http-client-python.flavor="azure" --option @typespec/http-client-python.generate-test="true" --option @typespec/http-client-python.generate-sample="true" --option @typespec/http-client-python.emitter-output-dir="/workspaces/typespec/packages/http-client-python/generator/test/azure/generated/client-structure-clientoperationgroup" --option @typespec/http-client-python.examples-dir="/workspaces/typespec/packages/http-client-python/node_modules/@azure-tools/azure-http-specs/specs/client/structure/client-operation-group/examples" -tsp compile /workspaces/typespec/packages/http-client-python/node_modules/@typespec/http-specs/specs/type/model/visibility/main.tsp --emit /workspaces/typespec/packages/http-client-python --option @typespec/http-client-python.package-name="typetest-model-visibility" --option @typespec/http-client-python.namespace="typetest.model.visibility" --option @typespec/http-client-python.flavor="azure" --option @typespec/http-client-python.generate-test="true" --option @typespec/http-client-python.generate-sample="true" --option @typespec/http-client-python.emitter-output-dir="/workspaces/typespec/packages/http-client-python/generator/test/azure/generated/typetest-model-visibility" --option @typespec/http-client-python.examples-dir="/workspaces/typespec/packages/http-client-python/node_modules/@typespec/http-specs/specs/type/model/visibility/examples" succeeded -start tsp compile /workspaces/typespec/packages/http-client-python/node_modules/@typespec/http-specs/specs/type/model/visibility/main.tsp --emit /workspaces/typespec/packages/http-client-python --option @typespec/http-client-python.package-name="headasbooleantrue" --option @typespec/http-client-python.namespace="headasbooleantrue" --option @typespec/http-client-python.head-as-boolean="true" --option @typespec/http-client-python.flavor="azure" --option @typespec/http-client-python.generate-test="true" --option @typespec/http-client-python.generate-sample="true" --option @typespec/http-client-python.emitter-output-dir="/workspaces/typespec/packages/http-client-python/generator/test/azure/generated/headasbooleantrue" --option @typespec/http-client-python.examples-dir="/workspaces/typespec/packages/http-client-python/node_modules/@typespec/http-specs/specs/type/model/visibility/examples" -tsp compile /workspaces/typespec/packages/http-client-python/node_modules/@typespec/http-specs/specs/payload/media-type/main.tsp --emit /workspaces/typespec/packages/http-client-python --option @typespec/http-client-python.flavor="azure" --option @typespec/http-client-python.generate-test="true" --option @typespec/http-client-python.generate-sample="true" --option @typespec/http-client-python.emitter-output-dir="/workspaces/typespec/packages/http-client-python/generator/test/azure/generated/payload-media-type" --option @typespec/http-client-python.examples-dir="/workspaces/typespec/packages/http-client-python/node_modules/@typespec/http-specs/specs/payload/media-type/examples" succeeded -start tsp compile /workspaces/typespec/packages/http-client-python/node_modules/@typespec/http-specs/specs/payload/multipart/main.tsp --emit /workspaces/typespec/packages/http-client-python --option @typespec/http-client-python.namespace="payload.multipart" --option @typespec/http-client-python.flavor="azure" --option @typespec/http-client-python.generate-test="true" --option @typespec/http-client-python.generate-sample="true" --option @typespec/http-client-python.emitter-output-dir="/workspaces/typespec/packages/http-client-python/generator/test/azure/generated/payload-multipart" --option @typespec/http-client-python.examples-dir="/workspaces/typespec/packages/http-client-python/node_modules/@typespec/http-specs/specs/payload/multipart/examples" -tsp compile /workspaces/typespec/packages/http-client-python/node_modules/@azure-tools/azure-http-specs/specs/azure/client-generator-core/deserialize-empty-string-as-null/main.tsp --emit /workspaces/typespec/packages/http-client-python --option @typespec/http-client-python.namespace="specs.azure.clientgenerator.core.emptystring" --option @typespec/http-client-python.flavor="azure" --option @typespec/http-client-python.generate-test="true" --option @typespec/http-client-python.generate-sample="true" --option @typespec/http-client-python.emitter-output-dir="/workspaces/typespec/packages/http-client-python/generator/test/azure/generated/azure-client-generator-core-deserialize-empty-string-as-null" --option @typespec/http-client-python.examples-dir="/workspaces/typespec/packages/http-client-python/node_modules/@azure-tools/azure-http-specs/specs/azure/client-generator-core/deserialize-empty-string-as-null/examples" succeeded -start tsp compile /workspaces/typespec/packages/http-client-python/node_modules/@azure-tools/azure-http-specs/specs/azure/client-generator-core/flatten-property/main.tsp --emit /workspaces/typespec/packages/http-client-python --option @typespec/http-client-python.namespace="specs.azure.clientgenerator.core.flattenproperty" --option @typespec/http-client-python.flavor="azure" --option @typespec/http-client-python.generate-test="true" --option @typespec/http-client-python.generate-sample="true" --option @typespec/http-client-python.emitter-output-dir="/workspaces/typespec/packages/http-client-python/generator/test/azure/generated/azure-client-generator-core-flatten-property" --option @typespec/http-client-python.examples-dir="/workspaces/typespec/packages/http-client-python/node_modules/@azure-tools/azure-http-specs/specs/azure/client-generator-core/flatten-property/examples" -tsp compile /workspaces/typespec/packages/http-client-python/node_modules/@azure-tools/azure-http-specs/specs/client/structure/client-operation-group/client.tsp --emit /workspaces/typespec/packages/http-client-python --option @typespec/http-client-python.package-name="client-structure-clientoperationgroup" --option @typespec/http-client-python.namespace="client.structure.clientoperationgroup" --option @typespec/http-client-python.flavor="azure" --option @typespec/http-client-python.generate-test="true" --option @typespec/http-client-python.generate-sample="true" --option @typespec/http-client-python.emitter-output-dir="/workspaces/typespec/packages/http-client-python/generator/test/azure/generated/client-structure-clientoperationgroup" --option @typespec/http-client-python.examples-dir="/workspaces/typespec/packages/http-client-python/node_modules/@azure-tools/azure-http-specs/specs/client/structure/client-operation-group/examples" succeeded -start tsp compile /workspaces/typespec/packages/http-client-python/node_modules/@azure-tools/azure-http-specs/specs/client/structure/default/client.tsp --emit /workspaces/typespec/packages/http-client-python --option @typespec/http-client-python.namespace="client.structure.service" --option @typespec/http-client-python.flavor="azure" --option @typespec/http-client-python.generate-test="true" --option @typespec/http-client-python.generate-sample="true" --option @typespec/http-client-python.emitter-output-dir="/workspaces/typespec/packages/http-client-python/generator/test/azure/generated/client-structure-default" --option @typespec/http-client-python.examples-dir="/workspaces/typespec/packages/http-client-python/node_modules/@azure-tools/azure-http-specs/specs/client/structure/default/examples" -tsp compile /workspaces/typespec/packages/http-client-python/node_modules/@typespec/http-specs/specs/type/model/visibility/main.tsp --emit /workspaces/typespec/packages/http-client-python --option @typespec/http-client-python.package-name="headasbooleantrue" --option @typespec/http-client-python.namespace="headasbooleantrue" --option @typespec/http-client-python.head-as-boolean="true" --option @typespec/http-client-python.flavor="azure" --option @typespec/http-client-python.generate-test="true" --option @typespec/http-client-python.generate-sample="true" --option @typespec/http-client-python.emitter-output-dir="/workspaces/typespec/packages/http-client-python/generator/test/azure/generated/headasbooleantrue" --option @typespec/http-client-python.examples-dir="/workspaces/typespec/packages/http-client-python/node_modules/@typespec/http-specs/specs/type/model/visibility/examples" succeeded -start tsp compile /workspaces/typespec/packages/http-client-python/node_modules/@typespec/http-specs/specs/type/model/visibility/main.tsp --emit /workspaces/typespec/packages/http-client-python --option @typespec/http-client-python.package-name="headasbooleanfalse" --option @typespec/http-client-python.namespace="headasbooleanfalse" --option @typespec/http-client-python.head-as-boolean="false" --option @typespec/http-client-python.flavor="azure" --option @typespec/http-client-python.generate-test="true" --option @typespec/http-client-python.generate-sample="true" --option @typespec/http-client-python.emitter-output-dir="/workspaces/typespec/packages/http-client-python/generator/test/azure/generated/headasbooleanfalse" --option @typespec/http-client-python.examples-dir="/workspaces/typespec/packages/http-client-python/node_modules/@typespec/http-specs/specs/type/model/visibility/examples" -tsp compile /workspaces/typespec/packages/http-client-python/node_modules/@azure-tools/azure-http-specs/specs/azure/client-generator-core/flatten-property/main.tsp --emit /workspaces/typespec/packages/http-client-python --option @typespec/http-client-python.namespace="specs.azure.clientgenerator.core.flattenproperty" --option @typespec/http-client-python.flavor="azure" --option @typespec/http-client-python.generate-test="true" --option @typespec/http-client-python.generate-sample="true" --option @typespec/http-client-python.emitter-output-dir="/workspaces/typespec/packages/http-client-python/generator/test/azure/generated/azure-client-generator-core-flatten-property" --option @typespec/http-client-python.examples-dir="/workspaces/typespec/packages/http-client-python/node_modules/@azure-tools/azure-http-specs/specs/azure/client-generator-core/flatten-property/examples" succeeded -start tsp compile /workspaces/typespec/packages/http-client-python/node_modules/@azure-tools/azure-http-specs/specs/azure/client-generator-core/hierarchy-building/main.tsp --emit /workspaces/typespec/packages/http-client-python --option @typespec/http-client-python.namespace="specs.azure.clientgenerator.core.hierarchybuilding" --option @typespec/http-client-python.flavor="azure" --option @typespec/http-client-python.generate-test="true" --option @typespec/http-client-python.generate-sample="true" --option @typespec/http-client-python.emitter-output-dir="/workspaces/typespec/packages/http-client-python/generator/test/azure/generated/azure-client-generator-core-hierarchy-building" --option @typespec/http-client-python.examples-dir="/workspaces/typespec/packages/http-client-python/node_modules/@azure-tools/azure-http-specs/specs/azure/client-generator-core/hierarchy-building/examples" -tsp compile /workspaces/typespec/packages/http-client-python/node_modules/@typespec/http-specs/specs/payload/multipart/main.tsp --emit /workspaces/typespec/packages/http-client-python --option @typespec/http-client-python.namespace="payload.multipart" --option @typespec/http-client-python.flavor="azure" --option @typespec/http-client-python.generate-test="true" --option @typespec/http-client-python.generate-sample="true" --option @typespec/http-client-python.emitter-output-dir="/workspaces/typespec/packages/http-client-python/generator/test/azure/generated/payload-multipart" --option @typespec/http-client-python.examples-dir="/workspaces/typespec/packages/http-client-python/node_modules/@typespec/http-specs/specs/payload/multipart/examples" succeeded -start tsp compile /workspaces/typespec/packages/http-client-python/node_modules/@typespec/http-specs/specs/payload/pageable/main.tsp --emit /workspaces/typespec/packages/http-client-python --option @typespec/http-client-python.flavor="azure" --option @typespec/http-client-python.generate-test="true" --option @typespec/http-client-python.generate-sample="true" --option @typespec/http-client-python.emitter-output-dir="/workspaces/typespec/packages/http-client-python/generator/test/azure/generated/payload-pageable" --option @typespec/http-client-python.examples-dir="/workspaces/typespec/packages/http-client-python/node_modules/@typespec/http-specs/specs/payload/pageable/examples" -tsp compile /workspaces/typespec/packages/http-client-python/node_modules/@azure-tools/azure-http-specs/specs/client/structure/default/client.tsp --emit /workspaces/typespec/packages/http-client-python --option @typespec/http-client-python.namespace="client.structure.service" --option @typespec/http-client-python.flavor="azure" --option @typespec/http-client-python.generate-test="true" --option @typespec/http-client-python.generate-sample="true" --option @typespec/http-client-python.emitter-output-dir="/workspaces/typespec/packages/http-client-python/generator/test/azure/generated/client-structure-default" --option @typespec/http-client-python.examples-dir="/workspaces/typespec/packages/http-client-python/node_modules/@azure-tools/azure-http-specs/specs/client/structure/default/examples" succeeded -start tsp compile /workspaces/typespec/packages/http-client-python/node_modules/@azure-tools/azure-http-specs/specs/client/structure/multi-client/client.tsp --emit /workspaces/typespec/packages/http-client-python --option @typespec/http-client-python.package-name="client-structure-multiclient" --option @typespec/http-client-python.namespace="client.structure.multiclient" --option @typespec/http-client-python.flavor="azure" --option @typespec/http-client-python.generate-test="true" --option @typespec/http-client-python.generate-sample="true" --option @typespec/http-client-python.emitter-output-dir="/workspaces/typespec/packages/http-client-python/generator/test/azure/generated/client-structure-multiclient" --option @typespec/http-client-python.examples-dir="/workspaces/typespec/packages/http-client-python/node_modules/@azure-tools/azure-http-specs/specs/client/structure/multi-client/examples" -tsp compile /workspaces/typespec/packages/http-client-python/node_modules/@typespec/http-specs/specs/type/model/visibility/main.tsp --emit /workspaces/typespec/packages/http-client-python --option @typespec/http-client-python.package-name="headasbooleanfalse" --option @typespec/http-client-python.namespace="headasbooleanfalse" --option @typespec/http-client-python.head-as-boolean="false" --option @typespec/http-client-python.flavor="azure" --option @typespec/http-client-python.generate-test="true" --option @typespec/http-client-python.generate-sample="true" --option @typespec/http-client-python.emitter-output-dir="/workspaces/typespec/packages/http-client-python/generator/test/azure/generated/headasbooleanfalse" --option @typespec/http-client-python.examples-dir="/workspaces/typespec/packages/http-client-python/node_modules/@typespec/http-specs/specs/type/model/visibility/examples" succeeded -start tsp compile /workspaces/typespec/packages/http-client-python/node_modules/@typespec/http-specs/specs/type/property/additional-properties/main.tsp --emit /workspaces/typespec/packages/http-client-python --option @typespec/http-client-python.package-name="typetest-property-additionalproperties" --option @typespec/http-client-python.namespace="typetest.property.additionalproperties" --option @typespec/http-client-python.flavor="azure" --option @typespec/http-client-python.generate-test="true" --option @typespec/http-client-python.generate-sample="true" --option @typespec/http-client-python.emitter-output-dir="/workspaces/typespec/packages/http-client-python/generator/test/azure/generated/typetest-property-additionalproperties" --option @typespec/http-client-python.examples-dir="/workspaces/typespec/packages/http-client-python/node_modules/@typespec/http-specs/specs/type/property/additional-properties/examples" -tsp compile /workspaces/typespec/packages/http-client-python/node_modules/@azure-tools/azure-http-specs/specs/azure/client-generator-core/hierarchy-building/main.tsp --emit /workspaces/typespec/packages/http-client-python --option @typespec/http-client-python.namespace="specs.azure.clientgenerator.core.hierarchybuilding" --option @typespec/http-client-python.flavor="azure" --option @typespec/http-client-python.generate-test="true" --option @typespec/http-client-python.generate-sample="true" --option @typespec/http-client-python.emitter-output-dir="/workspaces/typespec/packages/http-client-python/generator/test/azure/generated/azure-client-generator-core-hierarchy-building" --option @typespec/http-client-python.examples-dir="/workspaces/typespec/packages/http-client-python/node_modules/@azure-tools/azure-http-specs/specs/azure/client-generator-core/hierarchy-building/examples" succeeded -start tsp compile /workspaces/typespec/packages/http-client-python/node_modules/@azure-tools/azure-http-specs/specs/azure/client-generator-core/next-link-verb/main.tsp --emit /workspaces/typespec/packages/http-client-python --option @typespec/http-client-python.flavor="azure" --option @typespec/http-client-python.generate-test="true" --option @typespec/http-client-python.generate-sample="true" --option @typespec/http-client-python.emitter-output-dir="/workspaces/typespec/packages/http-client-python/generator/test/azure/generated/azure-client-generator-core-next-link-verb" --option @typespec/http-client-python.examples-dir="/workspaces/typespec/packages/http-client-python/node_modules/@azure-tools/azure-http-specs/specs/azure/client-generator-core/next-link-verb/examples" -tsp compile /workspaces/typespec/packages/http-client-python/node_modules/@azure-tools/azure-http-specs/specs/client/structure/multi-client/client.tsp --emit /workspaces/typespec/packages/http-client-python --option @typespec/http-client-python.package-name="client-structure-multiclient" --option @typespec/http-client-python.namespace="client.structure.multiclient" --option @typespec/http-client-python.flavor="azure" --option @typespec/http-client-python.generate-test="true" --option @typespec/http-client-python.generate-sample="true" --option @typespec/http-client-python.emitter-output-dir="/workspaces/typespec/packages/http-client-python/generator/test/azure/generated/client-structure-multiclient" --option @typespec/http-client-python.examples-dir="/workspaces/typespec/packages/http-client-python/node_modules/@azure-tools/azure-http-specs/specs/client/structure/multi-client/examples" succeeded -start tsp compile /workspaces/typespec/packages/http-client-python/node_modules/@azure-tools/azure-http-specs/specs/client/structure/renamed-operation/client.tsp --emit /workspaces/typespec/packages/http-client-python --option @typespec/http-client-python.package-name="client-structure-renamedoperation" --option @typespec/http-client-python.namespace="client.structure.renamedoperation" --option @typespec/http-client-python.flavor="azure" --option @typespec/http-client-python.generate-test="true" --option @typespec/http-client-python.generate-sample="true" --option @typespec/http-client-python.emitter-output-dir="/workspaces/typespec/packages/http-client-python/generator/test/azure/generated/client-structure-renamedoperation" --option @typespec/http-client-python.examples-dir="/workspaces/typespec/packages/http-client-python/node_modules/@azure-tools/azure-http-specs/specs/client/structure/renamed-operation/examples" -tsp compile /workspaces/typespec/packages/http-client-python/node_modules/@typespec/http-specs/specs/payload/pageable/main.tsp --emit /workspaces/typespec/packages/http-client-python --option @typespec/http-client-python.flavor="azure" --option @typespec/http-client-python.generate-test="true" --option @typespec/http-client-python.generate-sample="true" --option @typespec/http-client-python.emitter-output-dir="/workspaces/typespec/packages/http-client-python/generator/test/azure/generated/payload-pageable" --option @typespec/http-client-python.examples-dir="/workspaces/typespec/packages/http-client-python/node_modules/@typespec/http-specs/specs/payload/pageable/examples" succeeded -start tsp compile /workspaces/typespec/packages/http-client-python/node_modules/@typespec/http-specs/specs/payload/xml/main.tsp --emit /workspaces/typespec/packages/http-client-python --option @typespec/http-client-python.flavor="azure" --option @typespec/http-client-python.generate-test="true" --option @typespec/http-client-python.generate-sample="true" --option @typespec/http-client-python.emitter-output-dir="/workspaces/typespec/packages/http-client-python/generator/test/azure/generated/payload-xml" --option @typespec/http-client-python.examples-dir="/workspaces/typespec/packages/http-client-python/node_modules/@typespec/http-specs/specs/payload/xml/examples" -tsp compile /workspaces/typespec/packages/http-client-python/node_modules/@azure-tools/azure-http-specs/specs/azure/client-generator-core/next-link-verb/main.tsp --emit /workspaces/typespec/packages/http-client-python --option @typespec/http-client-python.flavor="azure" --option @typespec/http-client-python.generate-test="true" --option @typespec/http-client-python.generate-sample="true" --option @typespec/http-client-python.emitter-output-dir="/workspaces/typespec/packages/http-client-python/generator/test/azure/generated/azure-client-generator-core-next-link-verb" --option @typespec/http-client-python.examples-dir="/workspaces/typespec/packages/http-client-python/node_modules/@azure-tools/azure-http-specs/specs/azure/client-generator-core/next-link-verb/examples" succeeded -start tsp compile /workspaces/typespec/packages/http-client-python/node_modules/@azure-tools/azure-http-specs/specs/azure/client-generator-core/override/client.tsp --emit /workspaces/typespec/packages/http-client-python --option @typespec/http-client-python.namespace="specs.azure.clientgenerator.core.override" --option @typespec/http-client-python.flavor="azure" --option @typespec/http-client-python.generate-test="true" --option @typespec/http-client-python.generate-sample="true" --option @typespec/http-client-python.emitter-output-dir="/workspaces/typespec/packages/http-client-python/generator/test/azure/generated/azure-client-generator-core-override" --option @typespec/http-client-python.examples-dir="/workspaces/typespec/packages/http-client-python/node_modules/@azure-tools/azure-http-specs/specs/azure/client-generator-core/override/examples" -tsp compile /workspaces/typespec/packages/http-client-python/node_modules/@azure-tools/azure-http-specs/specs/client/structure/renamed-operation/client.tsp --emit /workspaces/typespec/packages/http-client-python --option @typespec/http-client-python.package-name="client-structure-renamedoperation" --option @typespec/http-client-python.namespace="client.structure.renamedoperation" --option @typespec/http-client-python.flavor="azure" --option @typespec/http-client-python.generate-test="true" --option @typespec/http-client-python.generate-sample="true" --option @typespec/http-client-python.emitter-output-dir="/workspaces/typespec/packages/http-client-python/generator/test/azure/generated/client-structure-renamedoperation" --option @typespec/http-client-python.examples-dir="/workspaces/typespec/packages/http-client-python/node_modules/@azure-tools/azure-http-specs/specs/client/structure/renamed-operation/examples" succeeded -start tsp compile /workspaces/typespec/packages/http-client-python/node_modules/@azure-tools/azure-http-specs/specs/client/structure/two-operation-group/client.tsp --emit /workspaces/typespec/packages/http-client-python --option @typespec/http-client-python.package-name="client-structure-twooperationgroup" --option @typespec/http-client-python.namespace="client.structure.twooperationgroup" --option @typespec/http-client-python.flavor="azure" --option @typespec/http-client-python.generate-test="true" --option @typespec/http-client-python.generate-sample="true" --option @typespec/http-client-python.emitter-output-dir="/workspaces/typespec/packages/http-client-python/generator/test/azure/generated/client-structure-twooperationgroup" --option @typespec/http-client-python.examples-dir="/workspaces/typespec/packages/http-client-python/node_modules/@azure-tools/azure-http-specs/specs/client/structure/two-operation-group/examples" -tsp compile /workspaces/typespec/packages/http-client-python/node_modules/@typespec/http-specs/specs/payload/xml/main.tsp --emit /workspaces/typespec/packages/http-client-python --option @typespec/http-client-python.flavor="azure" --option @typespec/http-client-python.generate-test="true" --option @typespec/http-client-python.generate-sample="true" --option @typespec/http-client-python.emitter-output-dir="/workspaces/typespec/packages/http-client-python/generator/test/azure/generated/payload-xml" --option @typespec/http-client-python.examples-dir="/workspaces/typespec/packages/http-client-python/node_modules/@typespec/http-specs/specs/payload/xml/examples" succeeded -start tsp compile /workspaces/typespec/packages/http-client-python/node_modules/@typespec/http-specs/specs/response/status-code-range/main.tsp --emit /workspaces/typespec/packages/http-client-python --option @typespec/http-client-python.flavor="azure" --option @typespec/http-client-python.generate-test="true" --option @typespec/http-client-python.generate-sample="true" --option @typespec/http-client-python.emitter-output-dir="/workspaces/typespec/packages/http-client-python/generator/test/azure/generated/response-status-code-range" --option @typespec/http-client-python.examples-dir="/workspaces/typespec/packages/http-client-python/node_modules/@typespec/http-specs/specs/response/status-code-range/examples" -tsp compile /workspaces/typespec/packages/http-client-python/node_modules/@azure-tools/azure-http-specs/specs/azure/client-generator-core/override/client.tsp --emit /workspaces/typespec/packages/http-client-python --option @typespec/http-client-python.namespace="specs.azure.clientgenerator.core.override" --option @typespec/http-client-python.flavor="azure" --option @typespec/http-client-python.generate-test="true" --option @typespec/http-client-python.generate-sample="true" --option @typespec/http-client-python.emitter-output-dir="/workspaces/typespec/packages/http-client-python/generator/test/azure/generated/azure-client-generator-core-override" --option @typespec/http-client-python.examples-dir="/workspaces/typespec/packages/http-client-python/node_modules/@azure-tools/azure-http-specs/specs/azure/client-generator-core/override/examples" succeeded -start tsp compile /workspaces/typespec/packages/http-client-python/node_modules/@azure-tools/azure-http-specs/specs/azure/client-generator-core/usage/main.tsp --emit /workspaces/typespec/packages/http-client-python --option @typespec/http-client-python.namespace="specs.azure.clientgenerator.core.usage" --option @typespec/http-client-python.flavor="azure" --option @typespec/http-client-python.generate-test="true" --option @typespec/http-client-python.generate-sample="true" --option @typespec/http-client-python.emitter-output-dir="/workspaces/typespec/packages/http-client-python/generator/test/azure/generated/azure-client-generator-core-usage" --option @typespec/http-client-python.examples-dir="/workspaces/typespec/packages/http-client-python/node_modules/@azure-tools/azure-http-specs/specs/azure/client-generator-core/usage/examples" -tsp compile /workspaces/typespec/packages/http-client-python/node_modules/@azure-tools/azure-http-specs/specs/client/structure/two-operation-group/client.tsp --emit /workspaces/typespec/packages/http-client-python --option @typespec/http-client-python.package-name="client-structure-twooperationgroup" --option @typespec/http-client-python.namespace="client.structure.twooperationgroup" --option @typespec/http-client-python.flavor="azure" --option @typespec/http-client-python.generate-test="true" --option @typespec/http-client-python.generate-sample="true" --option @typespec/http-client-python.emitter-output-dir="/workspaces/typespec/packages/http-client-python/generator/test/azure/generated/client-structure-twooperationgroup" --option @typespec/http-client-python.examples-dir="/workspaces/typespec/packages/http-client-python/node_modules/@azure-tools/azure-http-specs/specs/client/structure/two-operation-group/examples" succeeded -start tsp compile /workspaces/typespec/packages/http-client-python/node_modules/@azure-tools/azure-http-specs/specs/azure/client-generator-core/api-version/header/client.tsp --emit /workspaces/typespec/packages/http-client-python --option @typespec/http-client-python.flavor="azure" --option @typespec/http-client-python.generate-test="true" --option @typespec/http-client-python.generate-sample="true" --option @typespec/http-client-python.emitter-output-dir="/workspaces/typespec/packages/http-client-python/generator/test/azure/generated/azure-client-generator-core-api-version-header" --option @typespec/http-client-python.examples-dir="/workspaces/typespec/packages/http-client-python/node_modules/@azure-tools/azure-http-specs/specs/azure/client-generator-core/api-version/header/examples" -tsp compile /workspaces/typespec/packages/http-client-python/node_modules/@typespec/http-specs/specs/response/status-code-range/main.tsp --emit /workspaces/typespec/packages/http-client-python --option @typespec/http-client-python.flavor="azure" --option @typespec/http-client-python.generate-test="true" --option @typespec/http-client-python.generate-sample="true" --option @typespec/http-client-python.emitter-output-dir="/workspaces/typespec/packages/http-client-python/generator/test/azure/generated/response-status-code-range" --option @typespec/http-client-python.examples-dir="/workspaces/typespec/packages/http-client-python/node_modules/@typespec/http-specs/specs/response/status-code-range/examples" succeeded -start tsp compile /workspaces/typespec/packages/http-client-python/node_modules/@typespec/http-specs/specs/special-headers/repeatability/main.tsp --emit /workspaces/typespec/packages/http-client-python --option @typespec/http-client-python.flavor="azure" --option @typespec/http-client-python.generate-test="true" --option @typespec/http-client-python.generate-sample="true" --option @typespec/http-client-python.emitter-output-dir="/workspaces/typespec/packages/http-client-python/generator/test/azure/generated/special-headers-repeatability" --option @typespec/http-client-python.examples-dir="/workspaces/typespec/packages/http-client-python/node_modules/@typespec/http-specs/specs/special-headers/repeatability/examples" -tsp compile /workspaces/typespec/packages/http-client-python/node_modules/@typespec/http-specs/specs/type/property/additional-properties/main.tsp --emit /workspaces/typespec/packages/http-client-python --option @typespec/http-client-python.package-name="typetest-property-additionalproperties" --option @typespec/http-client-python.namespace="typetest.property.additionalproperties" --option @typespec/http-client-python.flavor="azure" --option @typespec/http-client-python.generate-test="true" --option @typespec/http-client-python.generate-sample="true" --option @typespec/http-client-python.emitter-output-dir="/workspaces/typespec/packages/http-client-python/generator/test/azure/generated/typetest-property-additionalproperties" --option @typespec/http-client-python.examples-dir="/workspaces/typespec/packages/http-client-python/node_modules/@typespec/http-specs/specs/type/property/additional-properties/examples" succeeded -start tsp compile /workspaces/typespec/packages/http-client-python/node_modules/@typespec/http-specs/specs/type/property/nullable/main.tsp --emit /workspaces/typespec/packages/http-client-python --option @typespec/http-client-python.package-name="typetest-property-nullable" --option @typespec/http-client-python.namespace="typetest.property.nullable" --option @typespec/http-client-python.flavor="azure" --option @typespec/http-client-python.generate-test="true" --option @typespec/http-client-python.generate-sample="true" --option @typespec/http-client-python.emitter-output-dir="/workspaces/typespec/packages/http-client-python/generator/test/azure/generated/typetest-property-nullable" --option @typespec/http-client-python.examples-dir="/workspaces/typespec/packages/http-client-python/node_modules/@typespec/http-specs/specs/type/property/nullable/examples" -tsp compile /workspaces/typespec/packages/http-client-python/node_modules/@azure-tools/azure-http-specs/specs/azure/client-generator-core/usage/main.tsp --emit /workspaces/typespec/packages/http-client-python --option @typespec/http-client-python.namespace="specs.azure.clientgenerator.core.usage" --option @typespec/http-client-python.flavor="azure" --option @typespec/http-client-python.generate-test="true" --option @typespec/http-client-python.generate-sample="true" --option @typespec/http-client-python.emitter-output-dir="/workspaces/typespec/packages/http-client-python/generator/test/azure/generated/azure-client-generator-core-usage" --option @typespec/http-client-python.examples-dir="/workspaces/typespec/packages/http-client-python/node_modules/@azure-tools/azure-http-specs/specs/azure/client-generator-core/usage/examples" succeeded -start tsp compile /workspaces/typespec/packages/http-client-python/node_modules/@azure-tools/azure-http-specs/specs/azure/core/basic/client.tsp --emit /workspaces/typespec/packages/http-client-python --option @typespec/http-client-python.namespace="specs.azure.core.basic" --option @typespec/http-client-python.flavor="azure" --option @typespec/http-client-python.generate-test="true" --option @typespec/http-client-python.generate-sample="true" --option @typespec/http-client-python.emitter-output-dir="/workspaces/typespec/packages/http-client-python/generator/test/azure/generated/azure-core-basic" --option @typespec/http-client-python.examples-dir="/workspaces/typespec/packages/http-client-python/node_modules/@azure-tools/azure-http-specs/specs/azure/core/basic/examples" -tsp compile /workspaces/typespec/packages/http-client-python/node_modules/@azure-tools/azure-http-specs/specs/azure/client-generator-core/api-version/header/client.tsp --emit /workspaces/typespec/packages/http-client-python --option @typespec/http-client-python.flavor="azure" --option @typespec/http-client-python.generate-test="true" --option @typespec/http-client-python.generate-sample="true" --option @typespec/http-client-python.emitter-output-dir="/workspaces/typespec/packages/http-client-python/generator/test/azure/generated/azure-client-generator-core-api-version-header" --option @typespec/http-client-python.examples-dir="/workspaces/typespec/packages/http-client-python/node_modules/@azure-tools/azure-http-specs/specs/azure/client-generator-core/api-version/header/examples" succeeded -start tsp compile /workspaces/typespec/packages/http-client-python/node_modules/@azure-tools/azure-http-specs/specs/azure/client-generator-core/api-version/path/client.tsp --emit /workspaces/typespec/packages/http-client-python --option @typespec/http-client-python.flavor="azure" --option @typespec/http-client-python.generate-test="true" --option @typespec/http-client-python.generate-sample="true" --option @typespec/http-client-python.emitter-output-dir="/workspaces/typespec/packages/http-client-python/generator/test/azure/generated/azure-client-generator-core-api-version-path" --option @typespec/http-client-python.examples-dir="/workspaces/typespec/packages/http-client-python/node_modules/@azure-tools/azure-http-specs/specs/azure/client-generator-core/api-version/path/examples" -tsp compile /workspaces/typespec/packages/http-client-python/node_modules/@typespec/http-specs/specs/special-headers/repeatability/main.tsp --emit /workspaces/typespec/packages/http-client-python --option @typespec/http-client-python.flavor="azure" --option @typespec/http-client-python.generate-test="true" --option @typespec/http-client-python.generate-sample="true" --option @typespec/http-client-python.emitter-output-dir="/workspaces/typespec/packages/http-client-python/generator/test/azure/generated/special-headers-repeatability" --option @typespec/http-client-python.examples-dir="/workspaces/typespec/packages/http-client-python/node_modules/@typespec/http-specs/specs/special-headers/repeatability/examples" succeeded -start tsp compile /workspaces/typespec/packages/http-client-python/node_modules/@typespec/http-specs/specs/streaming/jsonl/main.tsp --emit /workspaces/typespec/packages/http-client-python --option @typespec/http-client-python.flavor="azure" --option @typespec/http-client-python.generate-test="true" --option @typespec/http-client-python.generate-sample="true" --option @typespec/http-client-python.emitter-output-dir="/workspaces/typespec/packages/http-client-python/generator/test/azure/generated/streaming-jsonl" --option @typespec/http-client-python.examples-dir="/workspaces/typespec/packages/http-client-python/node_modules/@typespec/http-specs/specs/streaming/jsonl/examples" -tsp compile /workspaces/typespec/packages/http-client-python/node_modules/@azure-tools/azure-http-specs/specs/azure/client-generator-core/api-version/path/client.tsp --emit /workspaces/typespec/packages/http-client-python --option @typespec/http-client-python.flavor="azure" --option @typespec/http-client-python.generate-test="true" --option @typespec/http-client-python.generate-sample="true" --option @typespec/http-client-python.emitter-output-dir="/workspaces/typespec/packages/http-client-python/generator/test/azure/generated/azure-client-generator-core-api-version-path" --option @typespec/http-client-python.examples-dir="/workspaces/typespec/packages/http-client-python/node_modules/@azure-tools/azure-http-specs/specs/azure/client-generator-core/api-version/path/examples" succeeded -start tsp compile /workspaces/typespec/packages/http-client-python/node_modules/@azure-tools/azure-http-specs/specs/azure/client-generator-core/api-version/query/client.tsp --emit /workspaces/typespec/packages/http-client-python --option @typespec/http-client-python.flavor="azure" --option @typespec/http-client-python.generate-test="true" --option @typespec/http-client-python.generate-sample="true" --option @typespec/http-client-python.emitter-output-dir="/workspaces/typespec/packages/http-client-python/generator/test/azure/generated/azure-client-generator-core-api-version-query" --option @typespec/http-client-python.examples-dir="/workspaces/typespec/packages/http-client-python/node_modules/@azure-tools/azure-http-specs/specs/azure/client-generator-core/api-version/query/examples" -tsp compile /workspaces/typespec/packages/http-client-python/node_modules/@typespec/http-specs/specs/streaming/jsonl/main.tsp --emit /workspaces/typespec/packages/http-client-python --option @typespec/http-client-python.flavor="azure" --option @typespec/http-client-python.generate-test="true" --option @typespec/http-client-python.generate-sample="true" --option @typespec/http-client-python.emitter-output-dir="/workspaces/typespec/packages/http-client-python/generator/test/azure/generated/streaming-jsonl" --option @typespec/http-client-python.examples-dir="/workspaces/typespec/packages/http-client-python/node_modules/@typespec/http-specs/specs/streaming/jsonl/examples" succeeded -start tsp compile /workspaces/typespec/packages/http-client-python/node_modules/@typespec/http-specs/specs/special-headers/conditional-request/main.tsp --emit /workspaces/typespec/packages/http-client-python --option @typespec/http-client-python.flavor="azure" --option @typespec/http-client-python.generate-test="true" --option @typespec/http-client-python.generate-sample="true" --option @typespec/http-client-python.emitter-output-dir="/workspaces/typespec/packages/http-client-python/generator/test/azure/generated/special-headers-conditional-request" --option @typespec/http-client-python.examples-dir="/workspaces/typespec/packages/http-client-python/node_modules/@typespec/http-specs/specs/special-headers/conditional-request/examples" -tsp compile /workspaces/typespec/packages/http-client-python/node_modules/@typespec/http-specs/specs/type/property/nullable/main.tsp --emit /workspaces/typespec/packages/http-client-python --option @typespec/http-client-python.package-name="typetest-property-nullable" --option @typespec/http-client-python.namespace="typetest.property.nullable" --option @typespec/http-client-python.flavor="azure" --option @typespec/http-client-python.generate-test="true" --option @typespec/http-client-python.generate-sample="true" --option @typespec/http-client-python.emitter-output-dir="/workspaces/typespec/packages/http-client-python/generator/test/azure/generated/typetest-property-nullable" --option @typespec/http-client-python.examples-dir="/workspaces/typespec/packages/http-client-python/node_modules/@typespec/http-specs/specs/type/property/nullable/examples" succeeded -start tsp compile /workspaces/typespec/packages/http-client-python/node_modules/@typespec/http-specs/specs/type/property/optionality/main.tsp --emit /workspaces/typespec/packages/http-client-python --option @typespec/http-client-python.package-name="typetest-property-optional" --option @typespec/http-client-python.namespace="typetest.property.optional" --option @typespec/http-client-python.flavor="azure" --option @typespec/http-client-python.generate-test="true" --option @typespec/http-client-python.generate-sample="true" --option @typespec/http-client-python.emitter-output-dir="/workspaces/typespec/packages/http-client-python/generator/test/azure/generated/typetest-property-optional" --option @typespec/http-client-python.examples-dir="/workspaces/typespec/packages/http-client-python/node_modules/@typespec/http-specs/specs/type/property/optionality/examples" -tsp compile /workspaces/typespec/packages/http-client-python/node_modules/@azure-tools/azure-http-specs/specs/azure/core/basic/client.tsp --emit /workspaces/typespec/packages/http-client-python --option @typespec/http-client-python.namespace="specs.azure.core.basic" --option @typespec/http-client-python.flavor="azure" --option @typespec/http-client-python.generate-test="true" --option @typespec/http-client-python.generate-sample="true" --option @typespec/http-client-python.emitter-output-dir="/workspaces/typespec/packages/http-client-python/generator/test/azure/generated/azure-core-basic" --option @typespec/http-client-python.examples-dir="/workspaces/typespec/packages/http-client-python/node_modules/@azure-tools/azure-http-specs/specs/azure/core/basic/examples" succeeded -start tsp compile /workspaces/typespec/packages/http-client-python/node_modules/@azure-tools/azure-http-specs/specs/azure/core/model/main.tsp --emit /workspaces/typespec/packages/http-client-python --option @typespec/http-client-python.namespace="specs.azure.core.model" --option @typespec/http-client-python.flavor="azure" --option @typespec/http-client-python.generate-test="true" --option @typespec/http-client-python.generate-sample="true" --option @typespec/http-client-python.emitter-output-dir="/workspaces/typespec/packages/http-client-python/generator/test/azure/generated/azure-core-model" --option @typespec/http-client-python.examples-dir="/workspaces/typespec/packages/http-client-python/node_modules/@azure-tools/azure-http-specs/specs/azure/core/model/examples" -tsp compile /workspaces/typespec/packages/http-client-python/node_modules/@typespec/http-specs/specs/special-headers/conditional-request/main.tsp --emit /workspaces/typespec/packages/http-client-python --option @typespec/http-client-python.flavor="azure" --option @typespec/http-client-python.generate-test="true" --option @typespec/http-client-python.generate-sample="true" --option @typespec/http-client-python.emitter-output-dir="/workspaces/typespec/packages/http-client-python/generator/test/azure/generated/special-headers-conditional-request" --option @typespec/http-client-python.examples-dir="/workspaces/typespec/packages/http-client-python/node_modules/@typespec/http-specs/specs/special-headers/conditional-request/examples" succeeded -start tsp compile /workspaces/typespec/packages/http-client-python/node_modules/@typespec/http-specs/specs/type/array/main.tsp --emit /workspaces/typespec/packages/http-client-python --option @typespec/http-client-python.package-name="typetest-array" --option @typespec/http-client-python.namespace="typetest.array" --option @typespec/http-client-python.use-pyodide="true" --option @typespec/http-client-python.flavor="azure" --option @typespec/http-client-python.generate-test="true" --option @typespec/http-client-python.generate-sample="true" --option @typespec/http-client-python.emitter-output-dir="/workspaces/typespec/packages/http-client-python/generator/test/azure/generated/typetest-array" --option @typespec/http-client-python.examples-dir="/workspaces/typespec/packages/http-client-python/node_modules/@typespec/http-specs/specs/type/array/examples" -tsp compile /workspaces/typespec/packages/http-client-python/node_modules/@azure-tools/azure-http-specs/specs/azure/client-generator-core/api-version/query/client.tsp --emit /workspaces/typespec/packages/http-client-python --option @typespec/http-client-python.flavor="azure" --option @typespec/http-client-python.generate-test="true" --option @typespec/http-client-python.generate-sample="true" --option @typespec/http-client-python.emitter-output-dir="/workspaces/typespec/packages/http-client-python/generator/test/azure/generated/azure-client-generator-core-api-version-query" --option @typespec/http-client-python.examples-dir="/workspaces/typespec/packages/http-client-python/node_modules/@azure-tools/azure-http-specs/specs/azure/client-generator-core/api-version/query/examples" succeeded -start tsp compile /workspaces/typespec/packages/http-client-python/node_modules/@azure-tools/azure-http-specs/specs/azure/client-generator-core/client-location/move-method-parameter-to-client/main.tsp --emit /workspaces/typespec/packages/http-client-python --option @typespec/http-client-python.flavor="azure" --option @typespec/http-client-python.generate-test="true" --option @typespec/http-client-python.generate-sample="true" --option @typespec/http-client-python.emitter-output-dir="/workspaces/typespec/packages/http-client-python/generator/test/azure/generated/azure-client-generator-core-client-location-move-method-parameter-to-client" --option @typespec/http-client-python.examples-dir="/workspaces/typespec/packages/http-client-python/node_modules/@azure-tools/azure-http-specs/specs/azure/client-generator-core/client-location/move-method-parameter-to-client/examples" -tsp compile /workspaces/typespec/packages/http-client-python/node_modules/@azure-tools/azure-http-specs/specs/azure/core/model/main.tsp --emit /workspaces/typespec/packages/http-client-python --option @typespec/http-client-python.namespace="specs.azure.core.model" --option @typespec/http-client-python.flavor="azure" --option @typespec/http-client-python.generate-test="true" --option @typespec/http-client-python.generate-sample="true" --option @typespec/http-client-python.emitter-output-dir="/workspaces/typespec/packages/http-client-python/generator/test/azure/generated/azure-core-model" --option @typespec/http-client-python.examples-dir="/workspaces/typespec/packages/http-client-python/node_modules/@azure-tools/azure-http-specs/specs/azure/core/model/examples" succeeded -start tsp compile /workspaces/typespec/packages/http-client-python/node_modules/@azure-tools/azure-http-specs/specs/azure/core/page/client.tsp --emit /workspaces/typespec/packages/http-client-python --option @typespec/http-client-python.namespace="specs.azure.core.page" --option @typespec/http-client-python.flavor="azure" --option @typespec/http-client-python.generate-test="true" --option @typespec/http-client-python.generate-sample="true" --option @typespec/http-client-python.emitter-output-dir="/workspaces/typespec/packages/http-client-python/generator/test/azure/generated/azure-core-page" --option @typespec/http-client-python.examples-dir="/workspaces/typespec/packages/http-client-python/node_modules/@azure-tools/azure-http-specs/specs/azure/core/page/examples" -tsp compile /workspaces/typespec/packages/http-client-python/node_modules/@azure-tools/azure-http-specs/specs/azure/client-generator-core/client-location/move-method-parameter-to-client/main.tsp --emit /workspaces/typespec/packages/http-client-python --option @typespec/http-client-python.flavor="azure" --option @typespec/http-client-python.generate-test="true" --option @typespec/http-client-python.generate-sample="true" --option @typespec/http-client-python.emitter-output-dir="/workspaces/typespec/packages/http-client-python/generator/test/azure/generated/azure-client-generator-core-client-location-move-method-parameter-to-client" --option @typespec/http-client-python.examples-dir="/workspaces/typespec/packages/http-client-python/node_modules/@azure-tools/azure-http-specs/specs/azure/client-generator-core/client-location/move-method-parameter-to-client/examples" succeeded -start tsp compile /workspaces/typespec/packages/http-client-python/node_modules/@azure-tools/azure-http-specs/specs/azure/client-generator-core/client-location/move-to-existing-sub-client/main.tsp --emit /workspaces/typespec/packages/http-client-python --option @typespec/http-client-python.flavor="azure" --option @typespec/http-client-python.generate-test="true" --option @typespec/http-client-python.generate-sample="true" --option @typespec/http-client-python.emitter-output-dir="/workspaces/typespec/packages/http-client-python/generator/test/azure/generated/azure-client-generator-core-client-location-move-to-existing-sub-client" --option @typespec/http-client-python.examples-dir="/workspaces/typespec/packages/http-client-python/node_modules/@azure-tools/azure-http-specs/specs/azure/client-generator-core/client-location/move-to-existing-sub-client/examples" -tsp compile /workspaces/typespec/packages/http-client-python/node_modules/@azure-tools/azure-http-specs/specs/azure/core/page/client.tsp --emit /workspaces/typespec/packages/http-client-python --option @typespec/http-client-python.namespace="specs.azure.core.page" --option @typespec/http-client-python.flavor="azure" --option @typespec/http-client-python.generate-test="true" --option @typespec/http-client-python.generate-sample="true" --option @typespec/http-client-python.emitter-output-dir="/workspaces/typespec/packages/http-client-python/generator/test/azure/generated/azure-core-page" --option @typespec/http-client-python.examples-dir="/workspaces/typespec/packages/http-client-python/node_modules/@azure-tools/azure-http-specs/specs/azure/core/page/examples" succeeded -start tsp compile /workspaces/typespec/packages/http-client-python/node_modules/@azure-tools/azure-http-specs/specs/azure/core/scalar/main.tsp --emit /workspaces/typespec/packages/http-client-python --option @typespec/http-client-python.namespace="specs.azure.core.scalar" --option @typespec/http-client-python.flavor="azure" --option @typespec/http-client-python.generate-test="true" --option @typespec/http-client-python.generate-sample="true" --option @typespec/http-client-python.emitter-output-dir="/workspaces/typespec/packages/http-client-python/generator/test/azure/generated/azure-core-scalar" --option @typespec/http-client-python.examples-dir="/workspaces/typespec/packages/http-client-python/node_modules/@azure-tools/azure-http-specs/specs/azure/core/scalar/examples" -tsp compile /workspaces/typespec/packages/http-client-python/node_modules/@typespec/http-specs/specs/type/property/optionality/main.tsp --emit /workspaces/typespec/packages/http-client-python --option @typespec/http-client-python.package-name="typetest-property-optional" --option @typespec/http-client-python.namespace="typetest.property.optional" --option @typespec/http-client-python.flavor="azure" --option @typespec/http-client-python.generate-test="true" --option @typespec/http-client-python.generate-sample="true" --option @typespec/http-client-python.emitter-output-dir="/workspaces/typespec/packages/http-client-python/generator/test/azure/generated/typetest-property-optional" --option @typespec/http-client-python.examples-dir="/workspaces/typespec/packages/http-client-python/node_modules/@typespec/http-specs/specs/type/property/optionality/examples" succeeded -start tsp compile /workspaces/typespec/packages/http-client-python/node_modules/@typespec/http-specs/specs/type/union/discriminated/main.tsp --emit /workspaces/typespec/packages/http-client-python --option @typespec/http-client-python.package-name="typetest-discriminatedunion" --option @typespec/http-client-python.namespace="typetest.discriminatedunion" --option @typespec/http-client-python.flavor="azure" --option @typespec/http-client-python.generate-test="true" --option @typespec/http-client-python.generate-sample="true" --option @typespec/http-client-python.emitter-output-dir="/workspaces/typespec/packages/http-client-python/generator/test/azure/generated/typetest-discriminatedunion" --option @typespec/http-client-python.examples-dir="/workspaces/typespec/packages/http-client-python/node_modules/@typespec/http-specs/specs/type/union/discriminated/examples" -tsp compile /workspaces/typespec/packages/http-client-python/node_modules/@azure-tools/azure-http-specs/specs/azure/client-generator-core/client-location/move-to-existing-sub-client/main.tsp --emit /workspaces/typespec/packages/http-client-python --option @typespec/http-client-python.flavor="azure" --option @typespec/http-client-python.generate-test="true" --option @typespec/http-client-python.generate-sample="true" --option @typespec/http-client-python.emitter-output-dir="/workspaces/typespec/packages/http-client-python/generator/test/azure/generated/azure-client-generator-core-client-location-move-to-existing-sub-client" --option @typespec/http-client-python.examples-dir="/workspaces/typespec/packages/http-client-python/node_modules/@azure-tools/azure-http-specs/specs/azure/client-generator-core/client-location/move-to-existing-sub-client/examples" succeeded -start tsp compile /workspaces/typespec/packages/http-client-python/node_modules/@azure-tools/azure-http-specs/specs/azure/client-generator-core/client-location/move-to-new-sub-client/main.tsp --emit /workspaces/typespec/packages/http-client-python --option @typespec/http-client-python.flavor="azure" --option @typespec/http-client-python.generate-test="true" --option @typespec/http-client-python.generate-sample="true" --option @typespec/http-client-python.emitter-output-dir="/workspaces/typespec/packages/http-client-python/generator/test/azure/generated/azure-client-generator-core-client-location-move-to-new-sub-client" --option @typespec/http-client-python.examples-dir="/workspaces/typespec/packages/http-client-python/node_modules/@azure-tools/azure-http-specs/specs/azure/client-generator-core/client-location/move-to-new-sub-client/examples" -tsp compile /workspaces/typespec/packages/http-client-python/node_modules/@azure-tools/azure-http-specs/specs/azure/core/scalar/main.tsp --emit /workspaces/typespec/packages/http-client-python --option @typespec/http-client-python.namespace="specs.azure.core.scalar" --option @typespec/http-client-python.flavor="azure" --option @typespec/http-client-python.generate-test="true" --option @typespec/http-client-python.generate-sample="true" --option @typespec/http-client-python.emitter-output-dir="/workspaces/typespec/packages/http-client-python/generator/test/azure/generated/azure-core-scalar" --option @typespec/http-client-python.examples-dir="/workspaces/typespec/packages/http-client-python/node_modules/@azure-tools/azure-http-specs/specs/azure/core/scalar/examples" succeeded -start tsp compile /workspaces/typespec/packages/http-client-python/node_modules/@azure-tools/azure-http-specs/specs/azure/core/traits/main.tsp --emit /workspaces/typespec/packages/http-client-python --option @typespec/http-client-python.namespace="specs.azure.core.traits" --option @typespec/http-client-python.flavor="azure" --option @typespec/http-client-python.generate-test="true" --option @typespec/http-client-python.generate-sample="true" --option @typespec/http-client-python.emitter-output-dir="/workspaces/typespec/packages/http-client-python/generator/test/azure/generated/azure-core-traits" --option @typespec/http-client-python.examples-dir="/workspaces/typespec/packages/http-client-python/node_modules/@azure-tools/azure-http-specs/specs/azure/core/traits/examples" -tsp compile /workspaces/typespec/packages/http-client-python/node_modules/@azure-tools/azure-http-specs/specs/azure/client-generator-core/client-location/move-to-new-sub-client/main.tsp --emit /workspaces/typespec/packages/http-client-python --option @typespec/http-client-python.flavor="azure" --option @typespec/http-client-python.generate-test="true" --option @typespec/http-client-python.generate-sample="true" --option @typespec/http-client-python.emitter-output-dir="/workspaces/typespec/packages/http-client-python/generator/test/azure/generated/azure-client-generator-core-client-location-move-to-new-sub-client" --option @typespec/http-client-python.examples-dir="/workspaces/typespec/packages/http-client-python/node_modules/@azure-tools/azure-http-specs/specs/azure/client-generator-core/client-location/move-to-new-sub-client/examples" succeeded -start tsp compile /workspaces/typespec/packages/http-client-python/node_modules/@azure-tools/azure-http-specs/specs/azure/client-generator-core/client-location/move-to-root-client/main.tsp --emit /workspaces/typespec/packages/http-client-python --option @typespec/http-client-python.flavor="azure" --option @typespec/http-client-python.generate-test="true" --option @typespec/http-client-python.generate-sample="true" --option @typespec/http-client-python.emitter-output-dir="/workspaces/typespec/packages/http-client-python/generator/test/azure/generated/azure-client-generator-core-client-location-move-to-root-client" --option @typespec/http-client-python.examples-dir="/workspaces/typespec/packages/http-client-python/node_modules/@azure-tools/azure-http-specs/specs/azure/client-generator-core/client-location/move-to-root-client/examples" -tsp compile /workspaces/typespec/packages/http-client-python/node_modules/@typespec/http-specs/specs/type/union/discriminated/main.tsp --emit /workspaces/typespec/packages/http-client-python --option @typespec/http-client-python.package-name="typetest-discriminatedunion" --option @typespec/http-client-python.namespace="typetest.discriminatedunion" --option @typespec/http-client-python.flavor="azure" --option @typespec/http-client-python.generate-test="true" --option @typespec/http-client-python.generate-sample="true" --option @typespec/http-client-python.emitter-output-dir="/workspaces/typespec/packages/http-client-python/generator/test/azure/generated/typetest-discriminatedunion" --option @typespec/http-client-python.examples-dir="/workspaces/typespec/packages/http-client-python/node_modules/@typespec/http-specs/specs/type/union/discriminated/examples" succeeded -start tsp compile /workspaces/typespec/packages/http-client-python/node_modules/@typespec/http-specs/specs/type/property/value-types/main.tsp --emit /workspaces/typespec/packages/http-client-python --option @typespec/http-client-python.package-name="typetest-property-valuetypes" --option @typespec/http-client-python.namespace="typetest.property.valuetypes" --option @typespec/http-client-python.flavor="azure" --option @typespec/http-client-python.generate-test="true" --option @typespec/http-client-python.generate-sample="true" --option @typespec/http-client-python.emitter-output-dir="/workspaces/typespec/packages/http-client-python/generator/test/azure/generated/typetest-property-valuetypes" --option @typespec/http-client-python.examples-dir="/workspaces/typespec/packages/http-client-python/node_modules/@typespec/http-specs/specs/type/property/value-types/examples" -tsp compile /workspaces/typespec/packages/http-client-python/node_modules/@azure-tools/azure-http-specs/specs/azure/client-generator-core/client-location/move-to-root-client/main.tsp --emit /workspaces/typespec/packages/http-client-python --option @typespec/http-client-python.flavor="azure" --option @typespec/http-client-python.generate-test="true" --option @typespec/http-client-python.generate-sample="true" --option @typespec/http-client-python.emitter-output-dir="/workspaces/typespec/packages/http-client-python/generator/test/azure/generated/azure-client-generator-core-client-location-move-to-root-client" --option @typespec/http-client-python.examples-dir="/workspaces/typespec/packages/http-client-python/node_modules/@azure-tools/azure-http-specs/specs/azure/client-generator-core/client-location/move-to-root-client/examples" succeeded -start tsp compile /workspaces/typespec/packages/http-client-python/node_modules/@azure-tools/azure-http-specs/specs/azure/core/lro/rpc/main.tsp --emit /workspaces/typespec/packages/http-client-python --option @typespec/http-client-python.namespace="specs.azure.core.lro.rpc" --option @typespec/http-client-python.flavor="azure" --option @typespec/http-client-python.generate-test="true" --option @typespec/http-client-python.generate-sample="true" --option @typespec/http-client-python.emitter-output-dir="/workspaces/typespec/packages/http-client-python/generator/test/azure/generated/azure-core-lro-rpc" --option @typespec/http-client-python.examples-dir="/workspaces/typespec/packages/http-client-python/node_modules/@azure-tools/azure-http-specs/specs/azure/core/lro/rpc/examples" -tsp compile /workspaces/typespec/packages/http-client-python/node_modules/@azure-tools/azure-http-specs/specs/azure/core/traits/main.tsp --emit /workspaces/typespec/packages/http-client-python --option @typespec/http-client-python.namespace="specs.azure.core.traits" --option @typespec/http-client-python.flavor="azure" --option @typespec/http-client-python.generate-test="true" --option @typespec/http-client-python.generate-sample="true" --option @typespec/http-client-python.emitter-output-dir="/workspaces/typespec/packages/http-client-python/generator/test/azure/generated/azure-core-traits" --option @typespec/http-client-python.examples-dir="/workspaces/typespec/packages/http-client-python/node_modules/@azure-tools/azure-http-specs/specs/azure/core/traits/examples" succeeded -start tsp compile /workspaces/typespec/packages/http-client-python/node_modules/@azure-tools/azure-http-specs/specs/azure/encode/duration/main.tsp --emit /workspaces/typespec/packages/http-client-python --option @typespec/http-client-python.namespace="specs.azure.encode.duration" --option @typespec/http-client-python.flavor="azure" --option @typespec/http-client-python.generate-test="true" --option @typespec/http-client-python.generate-sample="true" --option @typespec/http-client-python.emitter-output-dir="/workspaces/typespec/packages/http-client-python/generator/test/azure/generated/azure-encode-duration" --option @typespec/http-client-python.examples-dir="/workspaces/typespec/packages/http-client-python/node_modules/@azure-tools/azure-http-specs/specs/azure/encode/duration/examples" -tsp compile /workspaces/typespec/packages/http-client-python/node_modules/@azure-tools/azure-http-specs/specs/azure/encode/duration/main.tsp --emit /workspaces/typespec/packages/http-client-python --option @typespec/http-client-python.namespace="specs.azure.encode.duration" --option @typespec/http-client-python.flavor="azure" --option @typespec/http-client-python.generate-test="true" --option @typespec/http-client-python.generate-sample="true" --option @typespec/http-client-python.emitter-output-dir="/workspaces/typespec/packages/http-client-python/generator/test/azure/generated/azure-encode-duration" --option @typespec/http-client-python.examples-dir="/workspaces/typespec/packages/http-client-python/node_modules/@azure-tools/azure-http-specs/specs/azure/encode/duration/examples" succeeded -start tsp compile /workspaces/typespec/packages/http-client-python/node_modules/@azure-tools/azure-http-specs/specs/azure/example/basic/client.tsp --emit /workspaces/typespec/packages/http-client-python --option @typespec/http-client-python.namespace="specs.azure.example.basic" --option @typespec/http-client-python.flavor="azure" --option @typespec/http-client-python.generate-test="true" --option @typespec/http-client-python.generate-sample="true" --option @typespec/http-client-python.emitter-output-dir="/workspaces/typespec/packages/http-client-python/generator/test/azure/generated/azure-example-basic" --option @typespec/http-client-python.examples-dir="/workspaces/typespec/packages/http-client-python/node_modules/@azure-tools/azure-http-specs/specs/azure/example/basic/examples" -tsp compile /workspaces/typespec/packages/http-client-python/node_modules/@azure-tools/azure-http-specs/specs/azure/core/lro/rpc/main.tsp --emit /workspaces/typespec/packages/http-client-python --option @typespec/http-client-python.namespace="specs.azure.core.lro.rpc" --option @typespec/http-client-python.flavor="azure" --option @typespec/http-client-python.generate-test="true" --option @typespec/http-client-python.generate-sample="true" --option @typespec/http-client-python.emitter-output-dir="/workspaces/typespec/packages/http-client-python/generator/test/azure/generated/azure-core-lro-rpc" --option @typespec/http-client-python.examples-dir="/workspaces/typespec/packages/http-client-python/node_modules/@azure-tools/azure-http-specs/specs/azure/core/lro/rpc/examples" succeeded -start tsp compile /workspaces/typespec/packages/http-client-python/node_modules/@azure-tools/azure-http-specs/specs/azure/core/lro/standard/main.tsp --emit /workspaces/typespec/packages/http-client-python --option @typespec/http-client-python.namespace="specs.azure.core.lro.standard" --option @typespec/http-client-python.flavor="azure" --option @typespec/http-client-python.generate-test="true" --option @typespec/http-client-python.generate-sample="true" --option @typespec/http-client-python.emitter-output-dir="/workspaces/typespec/packages/http-client-python/generator/test/azure/generated/azure-core-lro-standard" --option @typespec/http-client-python.examples-dir="/workspaces/typespec/packages/http-client-python/node_modules/@azure-tools/azure-http-specs/specs/azure/core/lro/standard/examples" -tsp compile /workspaces/typespec/packages/http-client-python/node_modules/@typespec/http-specs/specs/type/property/value-types/main.tsp --emit /workspaces/typespec/packages/http-client-python --option @typespec/http-client-python.package-name="typetest-property-valuetypes" --option @typespec/http-client-python.namespace="typetest.property.valuetypes" --option @typespec/http-client-python.flavor="azure" --option @typespec/http-client-python.generate-test="true" --option @typespec/http-client-python.generate-sample="true" --option @typespec/http-client-python.emitter-output-dir="/workspaces/typespec/packages/http-client-python/generator/test/azure/generated/typetest-property-valuetypes" --option @typespec/http-client-python.examples-dir="/workspaces/typespec/packages/http-client-python/node_modules/@typespec/http-specs/specs/type/property/value-types/examples" succeeded -start tsp compile /workspaces/typespec/packages/http-client-python/node_modules/@typespec/http-specs/specs/type/model/inheritance/enum-discriminator/main.tsp --emit /workspaces/typespec/packages/http-client-python --option @typespec/http-client-python.package-name="typetest-model-enumdiscriminator" --option @typespec/http-client-python.namespace="typetest.model.enumdiscriminator" --option @typespec/http-client-python.flavor="azure" --option @typespec/http-client-python.generate-test="true" --option @typespec/http-client-python.generate-sample="true" --option @typespec/http-client-python.emitter-output-dir="/workspaces/typespec/packages/http-client-python/generator/test/azure/generated/typetest-model-enumdiscriminator" --option @typespec/http-client-python.examples-dir="/workspaces/typespec/packages/http-client-python/node_modules/@typespec/http-specs/specs/type/model/inheritance/enum-discriminator/examples" -tsp compile /workspaces/typespec/packages/http-client-python/node_modules/@azure-tools/azure-http-specs/specs/azure/example/basic/client.tsp --emit /workspaces/typespec/packages/http-client-python --option @typespec/http-client-python.namespace="specs.azure.example.basic" --option @typespec/http-client-python.flavor="azure" --option @typespec/http-client-python.generate-test="true" --option @typespec/http-client-python.generate-sample="true" --option @typespec/http-client-python.emitter-output-dir="/workspaces/typespec/packages/http-client-python/generator/test/azure/generated/azure-example-basic" --option @typespec/http-client-python.examples-dir="/workspaces/typespec/packages/http-client-python/node_modules/@azure-tools/azure-http-specs/specs/azure/example/basic/examples" succeeded -start tsp compile /workspaces/typespec/packages/http-client-python/node_modules/@azure-tools/azure-http-specs/specs/azure/resource-manager/common-properties/main.tsp --emit /workspaces/typespec/packages/http-client-python --option @typespec/http-client-python.flavor="azure" --option @typespec/http-client-python.generate-test="true" --option @typespec/http-client-python.generate-sample="true" --option @typespec/http-client-python.emitter-output-dir="/workspaces/typespec/packages/http-client-python/generator/test/azure/generated/azure-resource-manager-common-properties" --option @typespec/http-client-python.examples-dir="/workspaces/typespec/packages/http-client-python/node_modules/@azure-tools/azure-http-specs/specs/azure/resource-manager/common-properties/examples" -tsp compile /workspaces/typespec/packages/http-client-python/node_modules/@azure-tools/azure-http-specs/specs/azure/core/lro/standard/main.tsp --emit /workspaces/typespec/packages/http-client-python --option @typespec/http-client-python.namespace="specs.azure.core.lro.standard" --option @typespec/http-client-python.flavor="azure" --option @typespec/http-client-python.generate-test="true" --option @typespec/http-client-python.generate-sample="true" --option @typespec/http-client-python.emitter-output-dir="/workspaces/typespec/packages/http-client-python/generator/test/azure/generated/azure-core-lro-standard" --option @typespec/http-client-python.examples-dir="/workspaces/typespec/packages/http-client-python/node_modules/@azure-tools/azure-http-specs/specs/azure/core/lro/standard/examples" succeeded -start tsp compile /workspaces/typespec/packages/http-client-python/node_modules/@typespec/http-specs/specs/documentation/main.tsp --emit /workspaces/typespec/packages/http-client-python --option @typespec/http-client-python.package-name="specs-documentation" --option @typespec/http-client-python.namespace="specs.documentation" --option @typespec/http-client-python.flavor="azure" --option @typespec/http-client-python.generate-test="true" --option @typespec/http-client-python.generate-sample="true" --option @typespec/http-client-python.emitter-output-dir="/workspaces/typespec/packages/http-client-python/generator/test/azure/generated/specs-documentation" --option @typespec/http-client-python.examples-dir="/workspaces/typespec/packages/http-client-python/node_modules/@typespec/http-specs/specs/documentation/examples" -tsp compile /workspaces/typespec/packages/http-client-python/node_modules/@typespec/http-specs/specs/type/model/inheritance/enum-discriminator/main.tsp --emit /workspaces/typespec/packages/http-client-python --option @typespec/http-client-python.package-name="typetest-model-enumdiscriminator" --option @typespec/http-client-python.namespace="typetest.model.enumdiscriminator" --option @typespec/http-client-python.flavor="azure" --option @typespec/http-client-python.generate-test="true" --option @typespec/http-client-python.generate-sample="true" --option @typespec/http-client-python.emitter-output-dir="/workspaces/typespec/packages/http-client-python/generator/test/azure/generated/typetest-model-enumdiscriminator" --option @typespec/http-client-python.examples-dir="/workspaces/typespec/packages/http-client-python/node_modules/@typespec/http-specs/specs/type/model/inheritance/enum-discriminator/examples" succeeded -start tsp compile /workspaces/typespec/packages/http-client-python/node_modules/@typespec/http-specs/specs/type/model/inheritance/nested-discriminator/main.tsp --emit /workspaces/typespec/packages/http-client-python --option @typespec/http-client-python.package-name="typetest-model-nesteddiscriminator" --option @typespec/http-client-python.namespace="typetest.model.nesteddiscriminator" --option @typespec/http-client-python.flavor="azure" --option @typespec/http-client-python.generate-test="true" --option @typespec/http-client-python.generate-sample="true" --option @typespec/http-client-python.emitter-output-dir="/workspaces/typespec/packages/http-client-python/generator/test/azure/generated/typetest-model-nesteddiscriminator" --option @typespec/http-client-python.examples-dir="/workspaces/typespec/packages/http-client-python/node_modules/@typespec/http-specs/specs/type/model/inheritance/nested-discriminator/examples" -tsp compile /workspaces/typespec/packages/http-client-python/node_modules/@typespec/http-specs/specs/documentation/main.tsp --emit /workspaces/typespec/packages/http-client-python --option @typespec/http-client-python.package-name="specs-documentation" --option @typespec/http-client-python.namespace="specs.documentation" --option @typespec/http-client-python.flavor="azure" --option @typespec/http-client-python.generate-test="true" --option @typespec/http-client-python.generate-sample="true" --option @typespec/http-client-python.emitter-output-dir="/workspaces/typespec/packages/http-client-python/generator/test/azure/generated/specs-documentation" --option @typespec/http-client-python.examples-dir="/workspaces/typespec/packages/http-client-python/node_modules/@typespec/http-specs/specs/documentation/examples" succeeded -start tsp compile /workspaces/typespec/packages/http-client-python/node_modules/@typespec/http-specs/specs/routes/main.tsp --emit /workspaces/typespec/packages/http-client-python --option @typespec/http-client-python.flavor="azure" --option @typespec/http-client-python.generate-test="true" --option @typespec/http-client-python.generate-sample="true" --option @typespec/http-client-python.emitter-output-dir="/workspaces/typespec/packages/http-client-python/generator/test/azure/generated/routes" --option @typespec/http-client-python.examples-dir="/workspaces/typespec/packages/http-client-python/node_modules/@typespec/http-specs/specs/routes/examples" -tsp compile /workspaces/typespec/packages/http-client-python/node_modules/@typespec/http-specs/specs/type/model/inheritance/nested-discriminator/main.tsp --emit /workspaces/typespec/packages/http-client-python --option @typespec/http-client-python.package-name="typetest-model-nesteddiscriminator" --option @typespec/http-client-python.namespace="typetest.model.nesteddiscriminator" --option @typespec/http-client-python.flavor="azure" --option @typespec/http-client-python.generate-test="true" --option @typespec/http-client-python.generate-sample="true" --option @typespec/http-client-python.emitter-output-dir="/workspaces/typespec/packages/http-client-python/generator/test/azure/generated/typetest-model-nesteddiscriminator" --option @typespec/http-client-python.examples-dir="/workspaces/typespec/packages/http-client-python/node_modules/@typespec/http-specs/specs/type/model/inheritance/nested-discriminator/examples" succeeded -start tsp compile /workspaces/typespec/packages/http-client-python/node_modules/@typespec/http-specs/specs/type/model/inheritance/recursive/main.tsp --emit /workspaces/typespec/packages/http-client-python --option @typespec/http-client-python.package-name="typetest-model-recursive" --option @typespec/http-client-python.namespace="typetest.model.recursive" --option @typespec/http-client-python.use-pyodide="true" --option @typespec/http-client-python.flavor="azure" --option @typespec/http-client-python.generate-test="true" --option @typespec/http-client-python.generate-sample="true" --option @typespec/http-client-python.emitter-output-dir="/workspaces/typespec/packages/http-client-python/generator/test/azure/generated/typetest-model-recursive" --option @typespec/http-client-python.examples-dir="/workspaces/typespec/packages/http-client-python/node_modules/@typespec/http-specs/specs/type/model/inheritance/recursive/examples" -tsp compile /workspaces/typespec/packages/http-client-python/node_modules/@azure-tools/azure-http-specs/specs/azure/resource-manager/common-properties/main.tsp --emit /workspaces/typespec/packages/http-client-python --option @typespec/http-client-python.flavor="azure" --option @typespec/http-client-python.generate-test="true" --option @typespec/http-client-python.generate-sample="true" --option @typespec/http-client-python.emitter-output-dir="/workspaces/typespec/packages/http-client-python/generator/test/azure/generated/azure-resource-manager-common-properties" --option @typespec/http-client-python.examples-dir="/workspaces/typespec/packages/http-client-python/node_modules/@azure-tools/azure-http-specs/specs/azure/resource-manager/common-properties/examples" succeeded -start tsp compile /workspaces/typespec/packages/http-client-python/node_modules/@azure-tools/azure-http-specs/specs/azure/payload/pageable/main.tsp --emit /workspaces/typespec/packages/http-client-python --option @typespec/http-client-python.namespace="specs.azure.payload.pageable" --option @typespec/http-client-python.flavor="azure" --option @typespec/http-client-python.generate-test="true" --option @typespec/http-client-python.generate-sample="true" --option @typespec/http-client-python.emitter-output-dir="/workspaces/typespec/packages/http-client-python/generator/test/azure/generated/azure-payload-pageable" --option @typespec/http-client-python.examples-dir="/workspaces/typespec/packages/http-client-python/node_modules/@azure-tools/azure-http-specs/specs/azure/payload/pageable/examples" -tsp compile /workspaces/typespec/packages/http-client-python/node_modules/@azure-tools/azure-http-specs/specs/azure/payload/pageable/main.tsp --emit /workspaces/typespec/packages/http-client-python --option @typespec/http-client-python.namespace="specs.azure.payload.pageable" --option @typespec/http-client-python.flavor="azure" --option @typespec/http-client-python.generate-test="true" --option @typespec/http-client-python.generate-sample="true" --option @typespec/http-client-python.emitter-output-dir="/workspaces/typespec/packages/http-client-python/generator/test/azure/generated/azure-payload-pageable" --option @typespec/http-client-python.examples-dir="/workspaces/typespec/packages/http-client-python/node_modules/@azure-tools/azure-http-specs/specs/azure/payload/pageable/examples" succeeded -start tsp compile /workspaces/typespec/packages/http-client-python/node_modules/@azure-tools/azure-http-specs/specs/azure/resource-manager/large-header/main.tsp --emit /workspaces/typespec/packages/http-client-python --option @typespec/http-client-python.flavor="azure" --option @typespec/http-client-python.generate-test="true" --option @typespec/http-client-python.generate-sample="true" --option @typespec/http-client-python.emitter-output-dir="/workspaces/typespec/packages/http-client-python/generator/test/azure/generated/azure-resource-manager-large-header" --option @typespec/http-client-python.examples-dir="/workspaces/typespec/packages/http-client-python/node_modules/@azure-tools/azure-http-specs/specs/azure/resource-manager/large-header/examples" -tsp compile /workspaces/typespec/packages/http-client-python/node_modules/@typespec/http-specs/specs/routes/main.tsp --emit /workspaces/typespec/packages/http-client-python --option @typespec/http-client-python.flavor="azure" --option @typespec/http-client-python.generate-test="true" --option @typespec/http-client-python.generate-sample="true" --option @typespec/http-client-python.emitter-output-dir="/workspaces/typespec/packages/http-client-python/generator/test/azure/generated/routes" --option @typespec/http-client-python.examples-dir="/workspaces/typespec/packages/http-client-python/node_modules/@typespec/http-specs/specs/routes/examples" succeeded -start tsp compile /workspaces/typespec/packages/http-client-python/node_modules/@typespec/http-specs/specs/special-words/main.tsp --emit /workspaces/typespec/packages/http-client-python --option @typespec/http-client-python.namespace="specialwords" --option @typespec/http-client-python.flavor="azure" --option @typespec/http-client-python.generate-test="true" --option @typespec/http-client-python.generate-sample="true" --option @typespec/http-client-python.emitter-output-dir="/workspaces/typespec/packages/http-client-python/generator/test/azure/generated/special-words" --option @typespec/http-client-python.examples-dir="/workspaces/typespec/packages/http-client-python/node_modules/@typespec/http-specs/specs/special-words/examples" -tsp compile /workspaces/typespec/packages/http-client-python/node_modules/@azure-tools/azure-http-specs/specs/azure/resource-manager/large-header/main.tsp --emit /workspaces/typespec/packages/http-client-python --option @typespec/http-client-python.flavor="azure" --option @typespec/http-client-python.generate-test="true" --option @typespec/http-client-python.generate-sample="true" --option @typespec/http-client-python.emitter-output-dir="/workspaces/typespec/packages/http-client-python/generator/test/azure/generated/azure-resource-manager-large-header" --option @typespec/http-client-python.examples-dir="/workspaces/typespec/packages/http-client-python/node_modules/@azure-tools/azure-http-specs/specs/azure/resource-manager/large-header/examples" succeeded -start tsp compile /workspaces/typespec/packages/http-client-python/node_modules/@azure-tools/azure-http-specs/specs/azure/resource-manager/method-subscription-id/client.tsp --emit /workspaces/typespec/packages/http-client-python --option @typespec/http-client-python.flavor="azure" --option @typespec/http-client-python.generate-test="true" --option @typespec/http-client-python.generate-sample="true" --option @typespec/http-client-python.emitter-output-dir="/workspaces/typespec/packages/http-client-python/generator/test/azure/generated/azure-resource-manager-method-subscription-id" --option @typespec/http-client-python.examples-dir="/workspaces/typespec/packages/http-client-python/node_modules/@azure-tools/azure-http-specs/specs/azure/resource-manager/method-subscription-id/examples" -tsp compile /workspaces/typespec/packages/http-client-python/node_modules/@typespec/http-specs/specs/special-words/main.tsp --emit /workspaces/typespec/packages/http-client-python --option @typespec/http-client-python.namespace="specialwords" --option @typespec/http-client-python.flavor="azure" --option @typespec/http-client-python.generate-test="true" --option @typespec/http-client-python.generate-sample="true" --option @typespec/http-client-python.emitter-output-dir="/workspaces/typespec/packages/http-client-python/generator/test/azure/generated/special-words" --option @typespec/http-client-python.examples-dir="/workspaces/typespec/packages/http-client-python/node_modules/@typespec/http-specs/specs/special-words/examples" succeeded -start tsp compile /workspaces/typespec/packages/http-client-python/node_modules/@typespec/http-specs/specs/authentication/api-key/main.tsp --emit /workspaces/typespec/packages/http-client-python --option @typespec/http-client-python.clear-output-folder="true" --option @typespec/http-client-python.flavor="azure" --option @typespec/http-client-python.generate-test="true" --option @typespec/http-client-python.generate-sample="true" --option @typespec/http-client-python.emitter-output-dir="/workspaces/typespec/packages/http-client-python/generator/test/azure/generated/authentication-api-key" --option @typespec/http-client-python.examples-dir="/workspaces/typespec/packages/http-client-python/node_modules/@typespec/http-specs/specs/authentication/api-key/examples" -tsp compile /workspaces/typespec/packages/http-client-python/node_modules/@azure-tools/azure-http-specs/specs/azure/resource-manager/method-subscription-id/client.tsp --emit /workspaces/typespec/packages/http-client-python --option @typespec/http-client-python.flavor="azure" --option @typespec/http-client-python.generate-test="true" --option @typespec/http-client-python.generate-sample="true" --option @typespec/http-client-python.emitter-output-dir="/workspaces/typespec/packages/http-client-python/generator/test/azure/generated/azure-resource-manager-method-subscription-id" --option @typespec/http-client-python.examples-dir="/workspaces/typespec/packages/http-client-python/node_modules/@azure-tools/azure-http-specs/specs/azure/resource-manager/method-subscription-id/examples" succeeded -start tsp compile /workspaces/typespec/packages/http-client-python/node_modules/@azure-tools/azure-http-specs/specs/azure/resource-manager/multi-service/client.tsp --emit /workspaces/typespec/packages/http-client-python --option @typespec/http-client-python.flavor="azure" --option @typespec/http-client-python.generate-test="true" --option @typespec/http-client-python.generate-sample="true" --option @typespec/http-client-python.emitter-output-dir="/workspaces/typespec/packages/http-client-python/generator/test/azure/generated/azure-resource-manager-multi-service" --option @typespec/http-client-python.examples-dir="/workspaces/typespec/packages/http-client-python/node_modules/@azure-tools/azure-http-specs/specs/azure/resource-manager/multi-service/examples" -tsp compile /workspaces/typespec/packages/http-client-python/node_modules/@typespec/http-specs/specs/authentication/api-key/main.tsp --emit /workspaces/typespec/packages/http-client-python --option @typespec/http-client-python.clear-output-folder="true" --option @typespec/http-client-python.flavor="azure" --option @typespec/http-client-python.generate-test="true" --option @typespec/http-client-python.generate-sample="true" --option @typespec/http-client-python.emitter-output-dir="/workspaces/typespec/packages/http-client-python/generator/test/azure/generated/authentication-api-key" --option @typespec/http-client-python.examples-dir="/workspaces/typespec/packages/http-client-python/node_modules/@typespec/http-specs/specs/authentication/api-key/examples" succeeded -start tsp compile /workspaces/typespec/packages/http-client-python/node_modules/@typespec/http-specs/specs/authentication/oauth2/main.tsp --emit /workspaces/typespec/packages/http-client-python --option @typespec/http-client-python.flavor="azure" --option @typespec/http-client-python.generate-test="true" --option @typespec/http-client-python.generate-sample="true" --option @typespec/http-client-python.emitter-output-dir="/workspaces/typespec/packages/http-client-python/generator/test/azure/generated/authentication-oauth2" --option @typespec/http-client-python.examples-dir="/workspaces/typespec/packages/http-client-python/node_modules/@typespec/http-specs/specs/authentication/oauth2/examples" -tsp compile /workspaces/typespec/packages/http-client-python/node_modules/@typespec/http-specs/specs/authentication/oauth2/main.tsp --emit /workspaces/typespec/packages/http-client-python --option @typespec/http-client-python.flavor="azure" --option @typespec/http-client-python.generate-test="true" --option @typespec/http-client-python.generate-sample="true" --option @typespec/http-client-python.emitter-output-dir="/workspaces/typespec/packages/http-client-python/generator/test/azure/generated/authentication-oauth2" --option @typespec/http-client-python.examples-dir="/workspaces/typespec/packages/http-client-python/node_modules/@typespec/http-specs/specs/authentication/oauth2/examples" succeeded -start tsp compile /workspaces/typespec/packages/http-client-python/node_modules/@typespec/http-specs/specs/authentication/union/main.tsp --emit /workspaces/typespec/packages/http-client-python --option @typespec/http-client-python.package-name="authentication-union" --option @typespec/http-client-python.namespace="authentication.union" --option @typespec/http-client-python.flavor="azure" --option @typespec/http-client-python.generate-test="true" --option @typespec/http-client-python.generate-sample="true" --option @typespec/http-client-python.emitter-output-dir="/workspaces/typespec/packages/http-client-python/generator/test/azure/generated/authentication-union" --option @typespec/http-client-python.examples-dir="/workspaces/typespec/packages/http-client-python/node_modules/@typespec/http-specs/specs/authentication/union/examples" -tsp compile /workspaces/typespec/packages/http-client-python/node_modules/@azure-tools/azure-http-specs/specs/azure/resource-manager/multi-service/client.tsp --emit /workspaces/typespec/packages/http-client-python --option @typespec/http-client-python.flavor="azure" --option @typespec/http-client-python.generate-test="true" --option @typespec/http-client-python.generate-sample="true" --option @typespec/http-client-python.emitter-output-dir="/workspaces/typespec/packages/http-client-python/generator/test/azure/generated/azure-resource-manager-multi-service" --option @typespec/http-client-python.examples-dir="/workspaces/typespec/packages/http-client-python/node_modules/@azure-tools/azure-http-specs/specs/azure/resource-manager/multi-service/examples" succeeded -start tsp compile /workspaces/typespec/packages/http-client-python/node_modules/@azure-tools/azure-http-specs/specs/azure/resource-manager/multi-service-older-versions/client.tsp --emit /workspaces/typespec/packages/http-client-python --option @typespec/http-client-python.flavor="azure" --option @typespec/http-client-python.generate-test="true" --option @typespec/http-client-python.generate-sample="true" --option @typespec/http-client-python.emitter-output-dir="/workspaces/typespec/packages/http-client-python/generator/test/azure/generated/azure-resource-manager-multi-service-older-versions" --option @typespec/http-client-python.examples-dir="/workspaces/typespec/packages/http-client-python/node_modules/@azure-tools/azure-http-specs/specs/azure/resource-manager/multi-service-older-versions/examples" -tsp compile /workspaces/typespec/packages/http-client-python/node_modules/@typespec/http-specs/specs/authentication/union/main.tsp --emit /workspaces/typespec/packages/http-client-python --option @typespec/http-client-python.package-name="authentication-union" --option @typespec/http-client-python.namespace="authentication.union" --option @typespec/http-client-python.flavor="azure" --option @typespec/http-client-python.generate-test="true" --option @typespec/http-client-python.generate-sample="true" --option @typespec/http-client-python.emitter-output-dir="/workspaces/typespec/packages/http-client-python/generator/test/azure/generated/authentication-union" --option @typespec/http-client-python.examples-dir="/workspaces/typespec/packages/http-client-python/node_modules/@typespec/http-specs/specs/authentication/union/examples" succeeded -start tsp compile /workspaces/typespec/packages/http-client-python/node_modules/@typespec/http-specs/specs/authentication/union/main.tsp --emit /workspaces/typespec/packages/http-client-python --option @typespec/http-client-python.package-name="setuppy-authentication-union" --option @typespec/http-client-python.namespace="setuppy.authentication.union" --option @typespec/http-client-python.keep-setup-py="true" --option @typespec/http-client-python.flavor="azure" --option @typespec/http-client-python.generate-test="true" --option @typespec/http-client-python.generate-sample="true" --option @typespec/http-client-python.emitter-output-dir="/workspaces/typespec/packages/http-client-python/generator/test/azure/generated/setuppy-authentication-union" --option @typespec/http-client-python.examples-dir="/workspaces/typespec/packages/http-client-python/node_modules/@typespec/http-specs/specs/authentication/union/examples" -tsp compile /workspaces/typespec/packages/http-client-python/node_modules/@typespec/http-specs/specs/authentication/union/main.tsp --emit /workspaces/typespec/packages/http-client-python --option @typespec/http-client-python.package-name="setuppy-authentication-union" --option @typespec/http-client-python.namespace="setuppy.authentication.union" --option @typespec/http-client-python.keep-setup-py="true" --option @typespec/http-client-python.flavor="azure" --option @typespec/http-client-python.generate-test="true" --option @typespec/http-client-python.generate-sample="true" --option @typespec/http-client-python.emitter-output-dir="/workspaces/typespec/packages/http-client-python/generator/test/azure/generated/setuppy-authentication-union" --option @typespec/http-client-python.examples-dir="/workspaces/typespec/packages/http-client-python/node_modules/@typespec/http-specs/specs/authentication/union/examples" succeeded -start tsp compile /workspaces/typespec/packages/http-client-python/node_modules/@typespec/http-specs/specs/encode/array/main.tsp --emit /workspaces/typespec/packages/http-client-python --option @typespec/http-client-python.flavor="azure" --option @typespec/http-client-python.generate-test="true" --option @typespec/http-client-python.generate-sample="true" --option @typespec/http-client-python.emitter-output-dir="/workspaces/typespec/packages/http-client-python/generator/test/azure/generated/encode-array" --option @typespec/http-client-python.examples-dir="/workspaces/typespec/packages/http-client-python/node_modules/@typespec/http-specs/specs/encode/array/examples" -tsp compile /workspaces/typespec/packages/http-client-python/node_modules/@azure-tools/azure-http-specs/specs/azure/resource-manager/multi-service-older-versions/client.tsp --emit /workspaces/typespec/packages/http-client-python --option @typespec/http-client-python.flavor="azure" --option @typespec/http-client-python.generate-test="true" --option @typespec/http-client-python.generate-sample="true" --option @typespec/http-client-python.emitter-output-dir="/workspaces/typespec/packages/http-client-python/generator/test/azure/generated/azure-resource-manager-multi-service-older-versions" --option @typespec/http-client-python.examples-dir="/workspaces/typespec/packages/http-client-python/node_modules/@azure-tools/azure-http-specs/specs/azure/resource-manager/multi-service-older-versions/examples" succeeded -start tsp compile /workspaces/typespec/packages/http-client-python/node_modules/@azure-tools/azure-http-specs/specs/azure/resource-manager/multi-service-shared-models/client.tsp --emit /workspaces/typespec/packages/http-client-python --option @typespec/http-client-python.flavor="azure" --option @typespec/http-client-python.generate-test="true" --option @typespec/http-client-python.generate-sample="true" --option @typespec/http-client-python.emitter-output-dir="/workspaces/typespec/packages/http-client-python/generator/test/azure/generated/azure-resource-manager-multi-service-shared-models" --option @typespec/http-client-python.examples-dir="/workspaces/typespec/packages/http-client-python/node_modules/@azure-tools/azure-http-specs/specs/azure/resource-manager/multi-service-shared-models/examples" -tsp compile /workspaces/typespec/packages/http-client-python/node_modules/@typespec/http-specs/specs/encode/array/main.tsp --emit /workspaces/typespec/packages/http-client-python --option @typespec/http-client-python.flavor="azure" --option @typespec/http-client-python.generate-test="true" --option @typespec/http-client-python.generate-sample="true" --option @typespec/http-client-python.emitter-output-dir="/workspaces/typespec/packages/http-client-python/generator/test/azure/generated/encode-array" --option @typespec/http-client-python.examples-dir="/workspaces/typespec/packages/http-client-python/node_modules/@typespec/http-specs/specs/encode/array/examples" succeeded -start tsp compile /workspaces/typespec/packages/http-client-python/node_modules/@typespec/http-specs/specs/encode/datetime/main.tsp --emit /workspaces/typespec/packages/http-client-python --option @typespec/http-client-python.flavor="azure" --option @typespec/http-client-python.generate-test="true" --option @typespec/http-client-python.generate-sample="true" --option @typespec/http-client-python.emitter-output-dir="/workspaces/typespec/packages/http-client-python/generator/test/azure/generated/encode-datetime" --option @typespec/http-client-python.examples-dir="/workspaces/typespec/packages/http-client-python/node_modules/@typespec/http-specs/specs/encode/datetime/examples" -tsp compile /workspaces/typespec/packages/http-client-python/node_modules/@typespec/http-specs/specs/encode/datetime/main.tsp --emit /workspaces/typespec/packages/http-client-python --option @typespec/http-client-python.flavor="azure" --option @typespec/http-client-python.generate-test="true" --option @typespec/http-client-python.generate-sample="true" --option @typespec/http-client-python.emitter-output-dir="/workspaces/typespec/packages/http-client-python/generator/test/azure/generated/encode-datetime" --option @typespec/http-client-python.examples-dir="/workspaces/typespec/packages/http-client-python/node_modules/@typespec/http-specs/specs/encode/datetime/examples" succeeded -start tsp compile /workspaces/typespec/packages/http-client-python/node_modules/@typespec/http-specs/specs/encode/duration/main.tsp --emit /workspaces/typespec/packages/http-client-python --option @typespec/http-client-python.namespace="encode.duration" --option @typespec/http-client-python.flavor="azure" --option @typespec/http-client-python.generate-test="true" --option @typespec/http-client-python.generate-sample="true" --option @typespec/http-client-python.emitter-output-dir="/workspaces/typespec/packages/http-client-python/generator/test/azure/generated/encode-duration" --option @typespec/http-client-python.examples-dir="/workspaces/typespec/packages/http-client-python/node_modules/@typespec/http-specs/specs/encode/duration/examples" -tsp compile /workspaces/typespec/packages/http-client-python/node_modules/@azure-tools/azure-http-specs/specs/azure/resource-manager/multi-service-shared-models/client.tsp --emit /workspaces/typespec/packages/http-client-python --option @typespec/http-client-python.flavor="azure" --option @typespec/http-client-python.generate-test="true" --option @typespec/http-client-python.generate-sample="true" --option @typespec/http-client-python.emitter-output-dir="/workspaces/typespec/packages/http-client-python/generator/test/azure/generated/azure-resource-manager-multi-service-shared-models" --option @typespec/http-client-python.examples-dir="/workspaces/typespec/packages/http-client-python/node_modules/@azure-tools/azure-http-specs/specs/azure/resource-manager/multi-service-shared-models/examples" succeeded -tsp compile /workspaces/typespec/packages/http-client-python/node_modules/@typespec/http-specs/specs/encode/duration/main.tsp --emit /workspaces/typespec/packages/http-client-python --option @typespec/http-client-python.namespace="encode.duration" --option @typespec/http-client-python.flavor="azure" --option @typespec/http-client-python.generate-test="true" --option @typespec/http-client-python.generate-sample="true" --option @typespec/http-client-python.emitter-output-dir="/workspaces/typespec/packages/http-client-python/generator/test/azure/generated/encode-duration" --option @typespec/http-client-python.examples-dir="/workspaces/typespec/packages/http-client-python/node_modules/@typespec/http-specs/specs/encode/duration/examples" succeeded diff --git a/packages/http-client-python/alpha/main.tsp b/packages/http-client-python/alpha/main.tsp deleted file mode 100644 index edc460a66c2..00000000000 --- a/packages/http-client-python/alpha/main.tsp +++ /dev/null @@ -1,62 +0,0 @@ -import "@typespec/versioning"; -import "@typespec/http"; -import "@typespec/spector"; - -using Versioning; -using Http; -using Spector; - -namespace Service.MultiService; - -/* - * First service definition in a multi-service package with versioning - */ -@scenarioService("/service/multi-service/service-a") -@versioned(VersionsA) -namespace ServiceA { - enum VersionsA { - av1, - av2, - } - - @route("foo") - interface Foo { - @scenario - @scenarioDoc(""" - Test that a client can expose operations from multiple services. This operaton should be called like this: `client.foo.test(...)`. - - Expected path: /service/multi-service/service-a/foo/test - Expected query parameter: api-version=av2 - Expected 204 response. - """) - @route("/test") - @added(VersionsA.av2) - test(@query("api-version") apiVersion: VersionsA): void; - } -} - -/** - * Second service definition in a multi-service package with versioning - */ -@scenarioService("/service/multi-service/service-b") -@versioned(VersionsB) -namespace ServiceB { - enum VersionsB { - bv1, - bv2, - } - - @route("bar") - interface Bar { - @scenario - @scenarioDoc(""" - Test that a client can expose operations from multiple services. This operaton should be called like this: `client.bar.test(...)`. - - Expected path: /service/multi-service/service-b/bar/test - Expected query parameter: api-version=bv2 - Expected 204 response. - """) - @route("/test") - test(@query("api-version") apiVersion: VersionsB): void; - } -} diff --git a/packages/http-client-python/alpha/output.yaml b/packages/http-client-python/alpha/output.yaml deleted file mode 100644 index 0282ebfc426..00000000000 --- a/packages/http-client-python/alpha/output.yaml +++ /dev/null @@ -1,1537 +0,0 @@ -namespace: azure.resourcemanager.multiservice.combined -clients: - - name: Combined - description: "" - parameters: - - &ref_2 - optional: true - description: Service host - clientName: base_url - inOverload: false - isApiVersion: false - isContinuationToken: false - type: &ref_1 - type: string - apiVersions: &ref_0 [] - wireName: endpoint - location: endpointPath - implementation: Client - clientDefaultValue: https://management.azure.com - skipUrlEncoding: true - - optional: false - description: Credential used to authenticate requests to the service. - clientName: credential - inOverload: false - isApiVersion: false - isContinuationToken: false - type: &ref_46 - type: OAuth2 - policy: - type: BearerTokenCredentialPolicy - credentialScopes: - - user_impersonation - flows: [] - apiVersions: *ref_0 - implementation: Client - location: credential - - optional: false - description: The ID of the target subscription. The value must be an UUID. - addedOn: "2024-11-01" - clientName: subscription_id - inOverload: false - isApiVersion: false - isContinuationToken: false - type: *ref_1 - apiVersions: - - "2024-11-01" - - "2025-04-01" - implementation: Client - location: method - operationGroups: - - name: VirtualMachines - className: VirtualMachines - propertyName: VirtualMachines - operations: - - url: >- - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName} - method: GET - parameters: - - *ref_2 - - optional: false - description: The API version to use for this operation. - clientName: api_version - inOverload: false - isApiVersion: true - isContinuationToken: false - type: &ref_7 - type: constant - value: "2025-04-01" - valueType: *ref_1 - apiVersions: - - "2024-11-01" - - "2025-04-01" - wireName: api-version - location: query - implementation: Method - explode: false - clientDefaultValue: "2025-04-01" - - optional: false - description: The ID of the target subscription. The value must be an UUID. - clientName: subscription_id - inOverload: false - isApiVersion: false - isContinuationToken: false - type: *ref_1 - apiVersions: - - "2024-11-01" - - "2025-04-01" - wireName: subscriptionId - location: path - implementation: Client - skipUrlEncoding: false - - optional: false - description: The name of the resource group. The name is case insensitive. - clientName: resource_group_name - inOverload: false - isApiVersion: false - isContinuationToken: false - type: *ref_1 - apiVersions: - - "2024-11-01" - - "2025-04-01" - wireName: resourceGroupName - location: path - implementation: Method - skipUrlEncoding: false - - optional: false - description: The name of the VirtualMachine - clientName: vm_name - inOverload: false - isApiVersion: false - isContinuationToken: false - type: *ref_1 - apiVersions: - - "2024-11-01" - - "2025-04-01" - wireName: vmName - location: path - implementation: Method - skipUrlEncoding: false - - optional: false - description: "" - clientName: accept - inOverload: false - isApiVersion: false - isContinuationToken: false - type: &ref_8 - type: constant - value: application/json - valueType: *ref_1 - apiVersions: - - "2024-11-01" - - "2025-04-01" - wireName: Accept - location: header - implementation: Method - explode: false - responses: - - headers: [] - statusCodes: - - 200 - discriminator: basic - type: &ref_9 - type: model - name: VirtualMachine - description: Describes a Virtual Machine. - parents: - - &ref_25 - type: model - name: TrackedResource - description: Tracked Resource - parents: - - &ref_40 - type: model - name: Resource - description: Resource - parents: [] - discriminatedSubtypes: {} - properties: - - clientName: id - wireName: id - type: *ref_1 - optional: true - description: >- - Fully qualified resource ID for the resource. Ex - - - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} - addedOn: v3 - apiVersions: - - v3 - - v4 - - v5 - - v6 - visibility: - - read - isDiscriminator: false - flatten: false - - clientName: name - wireName: name - type: *ref_1 - optional: true - description: The name of the resource - addedOn: v3 - apiVersions: - - v3 - - v4 - - v5 - - v6 - visibility: - - read - isDiscriminator: false - flatten: false - - clientName: type - wireName: type - type: *ref_1 - optional: true - description: >- - The type of the resource. E.g. - "Microsoft.Compute/virtualMachines" or - "Microsoft.Storage/storageAccounts" - addedOn: v3 - apiVersions: - - v3 - - v4 - - v5 - - v6 - visibility: - - read - isDiscriminator: false - flatten: false - - clientName: system_data - wireName: systemData - type: &ref_41 - type: model - name: SystemData - description: >- - Metadata pertaining to creation and last - modification of the resource. - parents: [] - discriminatedSubtypes: {} - properties: - - clientName: created_by - wireName: createdBy - type: *ref_1 - optional: true - description: The identity that created the resource. - addedOn: v3 - apiVersions: - - v3 - - v4 - - v5 - - v6 - visibility: - - read - - create - - update - - delete - - query - isDiscriminator: false - flatten: false - - clientName: created_by_type - wireName: createdByType - type: &ref_3 - name: createdByType - snakeCaseName: created_by_type - description: >- - The kind of entity that created the - resource. - internal: false - type: enum - valueType: *ref_1 - values: - - name: USER - value: User - description: The entity was created by a user. - enumType: *ref_3 - type: enumvalue - valueType: *ref_1 - - name: APPLICATION - value: Application - description: >- - The entity was created by an - application. - enumType: *ref_3 - type: enumvalue - valueType: *ref_1 - - name: MANAGED_IDENTITY - value: ManagedIdentity - description: >- - The entity was created by a managed - identity. - enumType: *ref_3 - type: enumvalue - valueType: *ref_1 - - name: KEY - value: Key - description: The entity was created by a key. - enumType: *ref_3 - type: enumvalue - valueType: *ref_1 - xmlMetadata: {} - crossLanguageDefinitionId: >- - Azure.ResourceManager.CommonTypes.createdByType - clientNamespace: >- - azure.resourcemanager.multiservice.combined - optional: true - description: >- - The type of identity that created the - resource. - addedOn: v3 - apiVersions: - - v3 - - v4 - - v5 - - v6 - visibility: - - read - - create - - update - - delete - - query - isDiscriminator: false - flatten: false - - clientName: created_at - wireName: createdAt - type: &ref_4 - type: utcDateTime - encode: rfc3339 - wireType: *ref_1 - optional: true - description: The timestamp of resource creation (UTC). - addedOn: v3 - apiVersions: - - v3 - - v4 - - v5 - - v6 - visibility: - - read - - create - - update - - delete - - query - isDiscriminator: false - flatten: false - - clientName: last_modified_by - wireName: lastModifiedBy - type: *ref_1 - optional: true - description: >- - The identity that last modified the - resource. - addedOn: v3 - apiVersions: - - v3 - - v4 - - v5 - - v6 - visibility: - - read - - create - - update - - delete - - query - isDiscriminator: false - flatten: false - - clientName: last_modified_by_type - wireName: lastModifiedByType - type: *ref_3 - optional: true - description: >- - The type of identity that last modified - the resource. - addedOn: v3 - apiVersions: - - v3 - - v4 - - v5 - - v6 - visibility: - - read - - create - - update - - delete - - query - isDiscriminator: false - flatten: false - - clientName: last_modified_at - wireName: lastModifiedAt - type: *ref_4 - optional: true - description: >- - The timestamp of resource last - modification (UTC) - addedOn: v3 - apiVersions: - - v3 - - v4 - - v5 - - v6 - visibility: - - read - - create - - update - - delete - - query - isDiscriminator: false - flatten: false - snakeCaseName: system_data - base: dpg - internal: false - crossLanguageDefinitionId: Azure.ResourceManager.CommonTypes.SystemData - usage: 10500 - isXml: false - clientNamespace: azure.resourcemanager.multiservice.combined - optional: true - description: >- - Azure Resource Manager metadata containing - createdBy and modifiedBy information. - addedOn: v3 - apiVersions: - - v3 - - v4 - - v5 - - v6 - visibility: - - read - isDiscriminator: false - flatten: false - snakeCaseName: resource - base: dpg - internal: false - crossLanguageDefinitionId: Azure.ResourceManager.CommonTypes.Resource - usage: 10502 - isXml: false - clientNamespace: azure.resourcemanager.multiservice.combined - discriminatedSubtypes: {} - properties: - - clientName: tags - wireName: tags - type: &ref_47 - type: dict - elementType: *ref_1 - optional: true - description: Resource tags. - addedOn: v3 - apiVersions: - - v3 - - v4 - - v5 - - v6 - visibility: - - read - - create - - update - - delete - - query - isDiscriminator: false - flatten: false - - clientName: location - wireName: location - type: *ref_1 - optional: false - description: The geo-location where the resource lives - addedOn: v3 - apiVersions: - - v3 - - v4 - - v5 - - v6 - visibility: - - read - - create - isDiscriminator: false - flatten: false - snakeCaseName: tracked_resource - base: dpg - internal: false - crossLanguageDefinitionId: Azure.ResourceManager.CommonTypes.TrackedResource - usage: 10502 - isXml: false - clientNamespace: azure.resourcemanager.multiservice.combined - discriminatedSubtypes: {} - properties: - - clientName: properties - wireName: properties - type: &ref_42 - type: model - name: VirtualMachineProperties - parents: [] - discriminatedSubtypes: {} - properties: - - clientName: provisioning_state - wireName: provisioningState - type: &ref_5 - name: ResourceProvisioningState - snakeCaseName: resource_provisioning_state - description: The provisioning state of a resource type. - internal: false - type: enum - valueType: *ref_1 - values: - - name: SUCCEEDED - value: Succeeded - description: Resource has been created. - enumType: *ref_5 - type: enumvalue - valueType: *ref_1 - - name: FAILED - value: Failed - description: Resource creation failed. - enumType: *ref_5 - type: enumvalue - valueType: *ref_1 - - name: CANCELED - value: Canceled - description: Resource creation was canceled. - enumType: *ref_5 - type: enumvalue - valueType: *ref_1 - xmlMetadata: {} - crossLanguageDefinitionId: Azure.ResourceManager.ResourceProvisioningState - clientNamespace: azure.resourcemanager.multiservice.combined - optional: true - addedOn: "2024-11-01" - apiVersions: - - "2024-11-01" - - "2025-04-01" - visibility: - - read - isDiscriminator: false - flatten: false - snakeCaseName: virtual_machine_properties - base: dpg - internal: false - crossLanguageDefinitionId: >- - Azure.ResourceManager.MultiService.Compute.VirtualMachineProperties - usage: 10502 - isXml: false - clientNamespace: azure.resourcemanager.multiservice.combined - optional: true - description: The resource-specific properties for this resource. - apiVersions: [] - visibility: - - read - - create - - update - - delete - - query - isDiscriminator: false - flatten: false - snakeCaseName: virtual_machine - base: dpg - internal: false - crossLanguageDefinitionId: Azure.ResourceManager.MultiService.Compute.VirtualMachine - usage: 10502 - isXml: false - clientNamespace: azure.resourcemanager.multiservice.combined - referredByOperationType: 2 - contentTypes: - - application/json - defaultContentType: application/json - exceptions: - - headers: [] - statusCodes: - - default - discriminator: basic - type: &ref_11 - type: model - name: ErrorResponse - description: Error response - parents: [] - discriminatedSubtypes: {} - properties: - - clientName: error - wireName: error - type: &ref_6 - type: model - name: ErrorDetail - description: The error detail. - parents: [] - discriminatedSubtypes: {} - properties: - - clientName: code - wireName: code - type: *ref_1 - optional: true - description: The error code. - addedOn: v3 - apiVersions: - - v3 - - v4 - - v5 - - v6 - visibility: - - read - isDiscriminator: false - flatten: false - - clientName: message - wireName: message - type: *ref_1 - optional: true - description: The error message. - addedOn: v3 - apiVersions: - - v3 - - v4 - - v5 - - v6 - visibility: - - read - isDiscriminator: false - flatten: false - - clientName: target - wireName: target - type: *ref_1 - optional: true - description: The error target. - addedOn: v3 - apiVersions: - - v3 - - v4 - - v5 - - v6 - visibility: - - read - isDiscriminator: false - flatten: false - - clientName: details - wireName: details - type: &ref_48 - type: list - elementType: *ref_6 - optional: true - description: The error details. - addedOn: v3 - apiVersions: - - v3 - - v4 - - v5 - - v6 - visibility: - - read - isDiscriminator: false - flatten: false - - clientName: additional_info - wireName: additionalInfo - type: &ref_49 - type: list - elementType: &ref_43 - type: model - name: ErrorAdditionalInfo - description: The resource management error additional info. - parents: [] - discriminatedSubtypes: {} - properties: - - clientName: type - wireName: type - type: *ref_1 - optional: true - description: The additional info type. - addedOn: v3 - apiVersions: - - v3 - - v4 - - v5 - - v6 - visibility: - - read - isDiscriminator: false - flatten: false - - clientName: info - wireName: info - type: &ref_45 - type: any - optional: true - description: The additional info. - addedOn: v3 - apiVersions: - - v3 - - v4 - - v5 - - v6 - visibility: - - read - isDiscriminator: false - flatten: false - snakeCaseName: error_additional_info - base: dpg - internal: false - crossLanguageDefinitionId: >- - Azure.ResourceManager.CommonTypes.ErrorAdditionalInfo - usage: 5376 - isXml: false - clientNamespace: azure.resourcemanager.multiservice.combined - optional: true - description: The error additional info. - addedOn: v3 - apiVersions: - - v3 - - v4 - - v5 - - v6 - visibility: - - read - isDiscriminator: false - flatten: false - snakeCaseName: error_detail - base: dpg - internal: false - crossLanguageDefinitionId: Azure.ResourceManager.CommonTypes.ErrorDetail - usage: 5376 - isXml: false - clientNamespace: azure.resourcemanager.multiservice.combined - optional: true - description: The error object. - addedOn: v3 - apiVersions: - - v3 - - v4 - - v5 - - v6 - visibility: - - read - - create - - update - - delete - - query - isDiscriminator: false - flatten: false - snakeCaseName: error_response - base: dpg - internal: false - crossLanguageDefinitionId: Azure.ResourceManager.CommonTypes.ErrorResponse - usage: 1280 - isXml: false - clientNamespace: azure.resourcemanager.multiservice.combined - contentTypes: - - application/json - defaultContentType: application/json - groupName: VirtualMachines - discriminator: basic - isOverload: false - overloads: [] - apiVersions: - - "2024-11-01" - - "2025-04-01" - wantTracing: true - exposeStreamKeyword: true - crossLanguageDefinitionId: Azure.ResourceManager.MultiService.Compute.VirtualMachines.get - samples: {} - internal: false - abstract: false - name: get - description: >- - Retrieves information about the model view or the instance view of - a virtual machine. - clientNamespace: azure.resourcemanager.multiservice.combined - - &ref_24 - url: >- - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName} - method: PUT - parameters: - - *ref_2 - - optional: false - description: The API version to use for this operation. - clientName: api_version - inOverload: false - isApiVersion: true - isContinuationToken: false - type: *ref_7 - apiVersions: &ref_12 - - "2024-11-01" - - "2025-04-01" - wireName: api-version - location: query - implementation: Method - explode: false - clientDefaultValue: "2025-04-01" - - optional: false - description: The ID of the target subscription. The value must be an UUID. - clientName: subscription_id - inOverload: false - isApiVersion: false - isContinuationToken: false - type: *ref_1 - apiVersions: &ref_13 - - "2024-11-01" - - "2025-04-01" - wireName: subscriptionId - location: path - implementation: Client - skipUrlEncoding: false - - optional: false - description: The name of the resource group. The name is case insensitive. - clientName: resource_group_name - inOverload: false - isApiVersion: false - isContinuationToken: false - type: *ref_1 - apiVersions: &ref_14 - - "2024-11-01" - - "2025-04-01" - wireName: resourceGroupName - location: path - implementation: Method - skipUrlEncoding: false - - optional: false - description: The name of the VirtualMachine - clientName: vm_name - inOverload: false - isApiVersion: false - isContinuationToken: false - type: *ref_1 - apiVersions: &ref_15 - - "2024-11-01" - - "2025-04-01" - wireName: vmName - location: path - implementation: Method - skipUrlEncoding: false - - optional: false - description: >- - Body parameter's content type. Known values are - application/json - clientName: content_type - inOverload: false - isApiVersion: false - isContinuationToken: false - type: &ref_16 - type: string - apiVersions: &ref_10 - - "2024-11-01" - - "2025-04-01" - wireName: Content-Type - location: header - implementation: Method - explode: false - clientDefaultValue: application/json - - optional: false - description: "" - clientName: accept - inOverload: false - isApiVersion: false - isContinuationToken: false - type: *ref_8 - apiVersions: &ref_17 - - "2024-11-01" - - "2025-04-01" - wireName: Accept - location: header - implementation: Method - explode: false - bodyParameter: - optional: false - description: Resource create parameters. - clientName: resource - inOverload: false - isApiVersion: false - isContinuationToken: false - type: *ref_9 - apiVersions: *ref_10 - contentTypes: &ref_18 - - application/json - location: body - wireName: resource - implementation: Method - defaultContentType: application/json - responses: - - headers: [] - statusCodes: - - 200 - discriminator: basic - type: *ref_9 - contentTypes: &ref_19 - - application/json - defaultContentType: application/json - - headers: - - type: *ref_1 - wireName: Azure-AsyncOperation - - type: &ref_20 - type: integer - wireName: Retry-After - statusCodes: - - 201 - discriminator: basic - type: *ref_9 - contentTypes: &ref_21 - - application/json - defaultContentType: application/json - exceptions: - - headers: [] - statusCodes: - - default - discriminator: basic - type: *ref_11 - contentTypes: &ref_22 - - application/json - defaultContentType: application/json - groupName: VirtualMachines - discriminator: basic - isOverload: false - overloads: [] - apiVersions: &ref_23 - - "2024-11-01" - - "2025-04-01" - wantTracing: false - exposeStreamKeyword: false - crossLanguageDefinitionId: >- - Azure.ResourceManager.MultiService.Compute.VirtualMachines.createOrUpdate - samples: {} - internal: false - name: _create_or_update_initial - isLroInitialOperation: true - description: >- - The operation to create or update a virtual machine. Please note - some properties can be set only during virtual machine creation. - clientNamespace: azure.resourcemanager.multiservice.combined - - url: >- - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName} - method: PUT - parameters: - - *ref_2 - - optional: false - description: The API version to use for this operation. - clientName: api_version - inOverload: false - isApiVersion: true - isContinuationToken: false - type: *ref_7 - apiVersions: *ref_12 - wireName: api-version - location: query - implementation: Method - explode: false - clientDefaultValue: "2025-04-01" - - optional: false - description: The ID of the target subscription. The value must be an UUID. - clientName: subscription_id - inOverload: false - isApiVersion: false - isContinuationToken: false - type: *ref_1 - apiVersions: *ref_13 - wireName: subscriptionId - location: path - implementation: Client - skipUrlEncoding: false - - optional: false - description: The name of the resource group. The name is case insensitive. - clientName: resource_group_name - inOverload: false - isApiVersion: false - isContinuationToken: false - type: *ref_1 - apiVersions: *ref_14 - wireName: resourceGroupName - location: path - implementation: Method - skipUrlEncoding: false - - optional: false - description: The name of the VirtualMachine - clientName: vm_name - inOverload: false - isApiVersion: false - isContinuationToken: false - type: *ref_1 - apiVersions: *ref_15 - wireName: vmName - location: path - implementation: Method - skipUrlEncoding: false - - optional: false - description: >- - Body parameter's content type. Known values are - application/json - clientName: content_type - inOverload: false - isApiVersion: false - isContinuationToken: false - type: *ref_16 - apiVersions: *ref_10 - wireName: Content-Type - location: header - implementation: Method - explode: false - clientDefaultValue: application/json - - optional: false - description: "" - clientName: accept - inOverload: false - isApiVersion: false - isContinuationToken: false - type: *ref_8 - apiVersions: *ref_17 - wireName: Accept - location: header - implementation: Method - explode: false - bodyParameter: - optional: false - description: Resource create parameters. - clientName: resource - inOverload: false - isApiVersion: false - isContinuationToken: false - type: *ref_9 - apiVersions: *ref_10 - contentTypes: *ref_18 - location: body - wireName: resource - implementation: Method - defaultContentType: application/json - responses: - - headers: [] - statusCodes: - - 200 - discriminator: basic - type: *ref_9 - contentTypes: *ref_19 - defaultContentType: application/json - - headers: - - type: *ref_1 - wireName: Azure-AsyncOperation - - type: *ref_20 - wireName: Retry-After - statusCodes: - - 201 - discriminator: basic - type: *ref_9 - contentTypes: *ref_21 - defaultContentType: application/json - exceptions: - - headers: [] - statusCodes: - - default - discriminator: basic - type: *ref_11 - contentTypes: *ref_22 - defaultContentType: application/json - groupName: VirtualMachines - discriminator: lro - isOverload: false - overloads: [] - apiVersions: *ref_23 - wantTracing: true - exposeStreamKeyword: false - crossLanguageDefinitionId: >- - Azure.ResourceManager.MultiService.Compute.VirtualMachines.createOrUpdate - samples: {} - internal: false - name: create_or_update - initialOperation: *ref_24 - description: >- - The operation to create or update a virtual machine. Please note - some properties can be set only during virtual machine creation. - clientNamespace: azure.resourcemanager.multiservice.combined - clientNamespace: azure.resourcemanager.multiservice.combined - - name: Disks - className: Disks - propertyName: Disks - operations: - - url: >- - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/disks/{diskName} - method: GET - parameters: - - *ref_2 - - optional: false - description: The API version to use for this operation. - clientName: api_version - inOverload: false - isApiVersion: true - isContinuationToken: false - type: &ref_26 - type: constant - value: "2025-01-02" - valueType: *ref_1 - apiVersions: - - "2024-03-02" - - "2025-01-02" - wireName: api-version - location: query - implementation: Method - explode: false - clientDefaultValue: "2025-01-02" - - optional: false - description: The ID of the target subscription. The value must be an UUID. - clientName: subscription_id - inOverload: false - isApiVersion: false - isContinuationToken: false - type: *ref_1 - apiVersions: - - "2024-03-02" - - "2025-01-02" - wireName: subscriptionId - location: path - implementation: Client - skipUrlEncoding: false - - optional: false - description: The name of the resource group. The name is case insensitive. - clientName: resource_group_name - inOverload: false - isApiVersion: false - isContinuationToken: false - type: *ref_1 - apiVersions: - - "2024-03-02" - - "2025-01-02" - wireName: resourceGroupName - location: path - implementation: Method - skipUrlEncoding: false - - optional: false - description: The name of the Disk - clientName: disk_name - inOverload: false - isApiVersion: false - isContinuationToken: false - type: *ref_1 - apiVersions: - - "2024-03-02" - - "2025-01-02" - wireName: diskName - location: path - implementation: Method - skipUrlEncoding: false - - optional: false - description: "" - clientName: accept - inOverload: false - isApiVersion: false - isContinuationToken: false - type: *ref_8 - apiVersions: - - "2024-03-02" - - "2025-01-02" - wireName: Accept - location: header - implementation: Method - explode: false - responses: - - headers: [] - statusCodes: - - 200 - discriminator: basic - type: &ref_27 - type: model - name: Disk - description: Disk resource. - parents: - - *ref_25 - discriminatedSubtypes: {} - properties: - - clientName: properties - wireName: properties - type: &ref_44 - type: model - name: DiskProperties - description: Disk resource properties. - parents: [] - discriminatedSubtypes: {} - properties: - - clientName: provisioning_state - wireName: provisioningState - type: *ref_5 - optional: true - addedOn: "2024-03-02" - apiVersions: - - "2024-03-02" - - "2025-01-02" - visibility: - - read - isDiscriminator: false - flatten: false - snakeCaseName: disk_properties - base: dpg - internal: false - crossLanguageDefinitionId: >- - Azure.ResourceManager.MultiService.ComputeDisk.DiskProperties - usage: 10502 - isXml: false - clientNamespace: azure.resourcemanager.multiservice.combined - optional: true - description: The resource-specific properties for this resource. - apiVersions: [] - visibility: - - read - - create - - update - - delete - - query - isDiscriminator: false - flatten: false - snakeCaseName: disk - base: dpg - internal: false - crossLanguageDefinitionId: Azure.ResourceManager.MultiService.ComputeDisk.Disk - usage: 10502 - isXml: false - clientNamespace: azure.resourcemanager.multiservice.combined - referredByOperationType: 2 - contentTypes: - - application/json - defaultContentType: application/json - exceptions: - - headers: [] - statusCodes: - - default - discriminator: basic - type: *ref_11 - contentTypes: - - application/json - defaultContentType: application/json - groupName: Disks - discriminator: basic - isOverload: false - overloads: [] - apiVersions: - - "2024-03-02" - - "2025-01-02" - wantTracing: true - exposeStreamKeyword: true - crossLanguageDefinitionId: Azure.ResourceManager.MultiService.ComputeDisk.Disks.get - samples: {} - internal: false - abstract: false - name: get - description: Gets information about a disk. - clientNamespace: azure.resourcemanager.multiservice.combined - - &ref_39 - url: >- - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/disks/{diskName} - method: PUT - parameters: - - *ref_2 - - optional: false - description: The API version to use for this operation. - clientName: api_version - inOverload: false - isApiVersion: true - isContinuationToken: false - type: *ref_26 - apiVersions: &ref_29 - - "2024-03-02" - - "2025-01-02" - wireName: api-version - location: query - implementation: Method - explode: false - clientDefaultValue: "2025-01-02" - - optional: false - description: The ID of the target subscription. The value must be an UUID. - clientName: subscription_id - inOverload: false - isApiVersion: false - isContinuationToken: false - type: *ref_1 - apiVersions: &ref_30 - - "2024-03-02" - - "2025-01-02" - wireName: subscriptionId - location: path - implementation: Client - skipUrlEncoding: false - - optional: false - description: The name of the resource group. The name is case insensitive. - clientName: resource_group_name - inOverload: false - isApiVersion: false - isContinuationToken: false - type: *ref_1 - apiVersions: &ref_31 - - "2024-03-02" - - "2025-01-02" - wireName: resourceGroupName - location: path - implementation: Method - skipUrlEncoding: false - - optional: false - description: The name of the Disk - clientName: disk_name - inOverload: false - isApiVersion: false - isContinuationToken: false - type: *ref_1 - apiVersions: &ref_32 - - "2024-03-02" - - "2025-01-02" - wireName: diskName - location: path - implementation: Method - skipUrlEncoding: false - - optional: false - description: >- - Body parameter's content type. Known values are - application/json - clientName: content_type - inOverload: false - isApiVersion: false - isContinuationToken: false - type: *ref_16 - apiVersions: &ref_28 - - "2024-03-02" - - "2025-01-02" - wireName: Content-Type - location: header - implementation: Method - explode: false - clientDefaultValue: application/json - - optional: false - description: "" - clientName: accept - inOverload: false - isApiVersion: false - isContinuationToken: false - type: *ref_8 - apiVersions: &ref_33 - - "2024-03-02" - - "2025-01-02" - wireName: Accept - location: header - implementation: Method - explode: false - bodyParameter: - optional: false - description: Resource create parameters. - clientName: resource - inOverload: false - isApiVersion: false - isContinuationToken: false - type: *ref_27 - apiVersions: *ref_28 - contentTypes: &ref_34 - - application/json - location: body - wireName: resource - implementation: Method - defaultContentType: application/json - responses: - - headers: [] - statusCodes: - - 200 - discriminator: basic - type: *ref_27 - contentTypes: &ref_35 - - application/json - defaultContentType: application/json - - headers: - - type: *ref_1 - wireName: Azure-AsyncOperation - - type: *ref_20 - wireName: Retry-After - statusCodes: - - 201 - discriminator: basic - type: *ref_27 - contentTypes: &ref_36 - - application/json - defaultContentType: application/json - exceptions: - - headers: [] - statusCodes: - - default - discriminator: basic - type: *ref_11 - contentTypes: &ref_37 - - application/json - defaultContentType: application/json - groupName: Disks - discriminator: basic - isOverload: false - overloads: [] - apiVersions: &ref_38 - - "2024-03-02" - - "2025-01-02" - wantTracing: false - exposeStreamKeyword: false - crossLanguageDefinitionId: >- - Azure.ResourceManager.MultiService.ComputeDisk.Disks.createOrUpdate - samples: {} - internal: false - name: _create_or_update_initial - isLroInitialOperation: true - description: Creates or updates a disk. - clientNamespace: azure.resourcemanager.multiservice.combined - - url: >- - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/disks/{diskName} - method: PUT - parameters: - - *ref_2 - - optional: false - description: The API version to use for this operation. - clientName: api_version - inOverload: false - isApiVersion: true - isContinuationToken: false - type: *ref_26 - apiVersions: *ref_29 - wireName: api-version - location: query - implementation: Method - explode: false - clientDefaultValue: "2025-01-02" - - optional: false - description: The ID of the target subscription. The value must be an UUID. - clientName: subscription_id - inOverload: false - isApiVersion: false - isContinuationToken: false - type: *ref_1 - apiVersions: *ref_30 - wireName: subscriptionId - location: path - implementation: Client - skipUrlEncoding: false - - optional: false - description: The name of the resource group. The name is case insensitive. - clientName: resource_group_name - inOverload: false - isApiVersion: false - isContinuationToken: false - type: *ref_1 - apiVersions: *ref_31 - wireName: resourceGroupName - location: path - implementation: Method - skipUrlEncoding: false - - optional: false - description: The name of the Disk - clientName: disk_name - inOverload: false - isApiVersion: false - isContinuationToken: false - type: *ref_1 - apiVersions: *ref_32 - wireName: diskName - location: path - implementation: Method - skipUrlEncoding: false - - optional: false - description: >- - Body parameter's content type. Known values are - application/json - clientName: content_type - inOverload: false - isApiVersion: false - isContinuationToken: false - type: *ref_16 - apiVersions: *ref_28 - wireName: Content-Type - location: header - implementation: Method - explode: false - clientDefaultValue: application/json - - optional: false - description: "" - clientName: accept - inOverload: false - isApiVersion: false - isContinuationToken: false - type: *ref_8 - apiVersions: *ref_33 - wireName: Accept - location: header - implementation: Method - explode: false - bodyParameter: - optional: false - description: Resource create parameters. - clientName: resource - inOverload: false - isApiVersion: false - isContinuationToken: false - type: *ref_27 - apiVersions: *ref_28 - contentTypes: *ref_34 - location: body - wireName: resource - implementation: Method - defaultContentType: application/json - responses: - - headers: [] - statusCodes: - - 200 - discriminator: basic - type: *ref_27 - contentTypes: *ref_35 - defaultContentType: application/json - - headers: - - type: *ref_1 - wireName: Azure-AsyncOperation - - type: *ref_20 - wireName: Retry-After - statusCodes: - - 201 - discriminator: basic - type: *ref_27 - contentTypes: *ref_36 - defaultContentType: application/json - exceptions: - - headers: [] - statusCodes: - - default - discriminator: basic - type: *ref_11 - contentTypes: *ref_37 - defaultContentType: application/json - groupName: Disks - discriminator: lro - isOverload: false - overloads: [] - apiVersions: *ref_38 - wantTracing: true - exposeStreamKeyword: false - crossLanguageDefinitionId: >- - Azure.ResourceManager.MultiService.ComputeDisk.Disks.createOrUpdate - samples: {} - internal: false - name: create_or_update - initialOperation: *ref_39 - description: Creates or updates a disk. - clientNamespace: azure.resourcemanager.multiservice.combined - clientNamespace: azure.resourcemanager.multiservice.combined - url: "{endpoint}" - apiVersions: *ref_0 - arm: true - clientNamespace: azure.resourcemanager.multiservice.combined -types: - - *ref_9 - - *ref_25 - - *ref_40 - - *ref_41 - - *ref_3 - - *ref_42 - - *ref_5 - - *ref_11 - - *ref_6 - - *ref_43 - - *ref_27 - - *ref_44 - - *ref_16 - - type: any-object - - *ref_45 - - *ref_1 - - *ref_46 - - type: utcDateTime - encode: rfc3339 - - *ref_4 - - *ref_47 - - *ref_48 - - *ref_49 - - *ref_7 - - *ref_8 - - *ref_20 - - *ref_26 -crossLanguagePackageId: Azure.ResourceManager.MultiService.Compute -metadata: {} diff --git a/packages/http-client-python/alpha/service1.tsp b/packages/http-client-python/alpha/service1.tsp deleted file mode 100644 index 131c840b388..00000000000 --- a/packages/http-client-python/alpha/service1.tsp +++ /dev/null @@ -1,109 +0,0 @@ -import "@typespec/versioning"; -import "@azure-tools/typespec-azure-resource-manager"; -import "@typespec/spector"; - -using TypeSpec.Versioning; -using Spector; - -/** - * Compute Client - */ -@armProviderNamespace("Microsoft.Compute") -@service(#{ title: "Azure Compute resource management API." }) -@versioned(Versions) -namespace Azure.ResourceManager.MultiService.Compute; - -/** - * The available API versions. - */ -enum Versions { - /** - * The 2024-11-01 API version. - */ - @armCommonTypesVersion(Azure.ResourceManager.CommonTypes.Versions.v3) - v2024_11_01: "2024-11-01", - - /** - * The 2025-04-01 API version. - */ - @armCommonTypesVersion(Azure.ResourceManager.CommonTypes.Versions.v3) - v2025_04_01: "2025-04-01", -} - -/** - * Describes a Virtual Machine. - */ -model VirtualMachine is Azure.ResourceManager.TrackedResource { - ...ResourceNameParameter< - Resource = VirtualMachine, - KeyName = "vmName", - SegmentName = "virtualMachines", - NamePattern = "" - >; -} - -model VirtualMachineProperties { - @visibility(Lifecycle.Read) - provisioningState?: ResourceProvisioningState; -} - -@armResourceOperations -interface VirtualMachines { - /** - * Retrieves information about the model view or the instance view of a virtual machine. - */ - @scenario - @scenarioDoc(""" - Test that a client can expose operations from multiple services. This operaton should be called like this: `client.virtualMachines.get(...)`. - - GET a Virtual Machine. - Expected path: /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.Compute/virtualMachines/vm1 - Expected query parameter: api-version=2025-04-01 - - Expected response body: - ```json - { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.Compute/virtualMachines/vm1", - "name": "vm1", - "type": "Microsoft.Compute/virtualMachines", - "location": "eastus", - "properties": { - "provisioningState": "Succeeded" - } - } - ``` - """) - get is ArmResourceRead; - - /** - * The operation to create or update a virtual machine. Please note some properties can be set only during virtual machine creation. - */ - @scenario - @scenarioDoc(""" - Test that a client can expose operations from multiple services. This operaton should be called like this: `client.virtualMachines.createOrUpdate(...)`. - - PUT (create or update) a Virtual Machine. - Expected path: /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.Compute/virtualMachines/vm1 - Expected query parameter: api-version=2025-04-01 - Expected request body: - ```json - { - "location": "eastus", - "properties": {} - } - ``` - Expected response body: - ```json - { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.Compute/virtualMachines/vm1", - "name": "vm1", - "type": "Microsoft.Compute/virtualMachines", - "location": "eastus", - "properties": { - "provisioningState": "Succeeded" - } - } - ``` - """) - createOrUpdate is ArmResourceCreateOrUpdateAsync; -} diff --git a/packages/http-client-python/alpha/service2.tsp b/packages/http-client-python/alpha/service2.tsp deleted file mode 100644 index 528b78779d5..00000000000 --- a/packages/http-client-python/alpha/service2.tsp +++ /dev/null @@ -1,112 +0,0 @@ -import "@typespec/versioning"; -import "@azure-tools/typespec-azure-resource-manager"; -import "@typespec/spector"; - -using TypeSpec.Versioning; -using Spector; - -/** - * Compute Client - */ -@armProviderNamespace("Microsoft.Compute") -@service(#{ title: "Azure Compute resource management API." }) -@versioned(Versions) -namespace Azure.ResourceManager.MultiService.ComputeDisk; - -/** - * The available API versions. - */ -enum Versions { - /** - * The 2024-03-02 API version. - */ - @armCommonTypesVersion(Azure.ResourceManager.CommonTypes.Versions.v3) - v2024_03_02: "2024-03-02", - - /** - * The 2025-01-02 API version. - */ - @armCommonTypesVersion(Azure.ResourceManager.CommonTypes.Versions.v3) - v2025_01_02: "2025-01-02", -} - -/** - * Disk resource. - */ -model Disk is Azure.ResourceManager.TrackedResource { - ...ResourceNameParameter< - Resource = Disk, - KeyName = "diskName", - SegmentName = "disks", - NamePattern = "" - >; -} - -/** - * Disk resource properties. - */ -model DiskProperties { - @visibility(Lifecycle.Read) - provisioningState?: ResourceProvisioningState; -} - -@armResourceOperations -interface Disks { - /** - * Gets information about a disk. - */ - @scenario - @scenarioDoc(""" - Test that a client can expose operations from multiple services. This operaton should be called like this: `client.disks.get(...)`. - - GET a Disk resource. - Expected path: /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.Compute/disks/disk1 - Expected query parameter: api-version=2025-01-02 - - Expected response body: - ```json - { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.Compute/disks/disk1", - "name": "disk1", - "type": "Microsoft.Compute/disks", - "location": "eastus", - "properties": { - "provisioningState": "Succeeded" - } - } - ``` - """) - get is ArmResourceRead; - - /** - * Creates or updates a disk. - */ - @scenario - @scenarioDoc(""" - Test that a client can expose operations from multiple services. This operaton should be called like this: `client.disks.createOrUpdate(...)`. - - PUT (create or update) a Disk resource. - Expected path: /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.Compute/disks/disk1 - Expected query parameter: api-version=2025-01-02 - Expected request body: - ```json - { - "location": "eastus", - "properties": {} - } - ``` - Expected response body: - ```json - { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.Compute/disks/disk1", - "name": "disk1", - "type": "Microsoft.Compute/disks", - "location": "eastus", - "properties": { - "provisioningState": "Succeeded" - } - } - ``` - """) - createOrUpdate is ArmResourceCreateOrUpdateAsync; -} diff --git a/packages/http-client-python/alpha/tspconfig.yaml b/packages/http-client-python/alpha/tspconfig.yaml deleted file mode 100644 index f33da49f1f1..00000000000 --- a/packages/http-client-python/alpha/tspconfig.yaml +++ /dev/null @@ -1,20 +0,0 @@ -parameters: - "service-dir": - default: "sdk/keyvault" - "dependencies": - default: "" - -emit: - - "@azure-tools/typespec-autorest" - -linter: - extends: - - "@azure-tools/typespec-azure-rulesets/data-plane" - -options: - "@azure-tools/typespec-autorest": - azure-resource-provider-folder: "data-plane" - emitter-output-dir: "{project-root}/.." - output-file: "{azure-resource-provider-folder}/Microsoft.KeyVault/{version-status}/{version}/keys.json" - "@typespec/http-client-python": - flavor: "azure"