From 12f5b1085305752f027e2ff207c04b85767182ba Mon Sep 17 00:00:00 2001 From: Andres Paz Date: Sun, 31 Jan 2021 22:56:45 -0700 Subject: [PATCH] Creating CLI extension for Azure Quantum (#1879) * Azure quantum extension v0 (#2) Initial version. * Fixing style issues * Incorporating feedback (#6) * readme * feedback * Help * Make storage account optional (#7) * Storage is now optional (#8) * Making storage an argument, not an env variable (#9) * Adding implementation of 'az quantum workspace delete' command. * Setting new temporary version. * Fixing missing file in test change * Adding details to README.md (#5) * Updating generated files for Azure Quantum resource manager from new swagger file version * Remove manual edit of generated file. * Updating generated files for Azure Quantum data plane from new swagger file version * Updating generated files for Azure Quantum resource manager from new swagger file version. (2020-11-06) (#13) * Adding implementation of 'az quantum workspace create' command. (#14) Adding initial implementation of 'az quantum workspace create' command. ----------------------------------- Command az quantum workspace create : Creates a new Azure Quantum workspace. Command group 'quantum' is in preview. It may be changed/removed in a future release. Arguments --location -l : Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=. --resource-group -g : Name of resource group. You can configure the default group using az configure --defaults group=. --storage_account -sa : Name of the storage account to be used by a quantum workspace. --workspace-name -w : Name of the Quantum Workspace. You can configure the default workspace using az quantum workspace set. * Update Azure CLI quantum extension to multi-region (#17) This change will set the URL for the data plan API accordingly with a location parameter specified as part of the command. * Updating swagger files per commit 44563991425d862ba4e8090a2b5b6caf8333600c in azure-rest-api-specs-pr. (#16) Updating swagger files per commit 44563991425d862ba4e8090a2b5b6caf8333600c in azure-rest-api-specs-pr. * Fixing tests for multi-region URL change on Az CLI quantum extension (#19) Fixing tests for multi-region URL change on Az CLI quantum extension * Incorporating ARM feedback (#18) * Picking up latest changes from swagger after ARM feedback * updated create_or_update * run command * Setting default location in workspace calls if not specified (#20) * updating python azure quantum rest client (#21) * Update generated files from swagger file (Version 2021-01-11) (#22) * Hot fixes on December 2020 release of Azure CLI extension (#23) * Fixing issue with over specification of location * Updating version information of extension * Update CLI with generated clients from more recent swagger files (#24) - Data plane updated to official swagger file (2021-01-11 19:01:32 UTC) on azure-rest-api-specs @ 98ae52b87af2f172f84f3305f8fe46f819543a49. - Resource manager updated to candidate swagger file (2021-01-15 19:35:41 UTC) on anpaz:quantum/resource-manager @ a9a9e271c13500aa54fdbb1bcb656eb61d82d38b. * Update src/quantum/README.rst Co-authored-by: Feiyue Yu * Update src/quantum/README.rst Co-authored-by: Feiyue Yu * Update src/quantum/README.rst Co-authored-by: Feiyue Yu * Update src/quantum/README.rst Co-authored-by: Feiyue Yu * Require location as a mandatory parameter in workspace specification (#25) * Make location mandatory in commands * Update test recordings * Resetting the version history for the released version. * Fix description of workspace clear command * Updatig Readme file to RST format. * Update Readme file per pull request comments. * Fixing az quantum run and execute commands to include location parameter * Performing role assignment on storage account on workspace creation. (#29) * Add warning message about providers during workspace creation (#30) * Enable command az quantum workspace quotas (#31) * Removing extra space in Readme.rst Co-authored-by: Feiyue Yu * Fix punctuation in Readme.rst Co-authored-by: Feiyue Yu * Update src/quantum/README.rst Co-authored-by: Feiyue Yu * Update src/quantum/azext_quantum/_params.py Co-authored-by: Feiyue Yu * First round of code review feedback on Readme.rst * Improve code readability on job commands * Avoid IndexError in case of malformed URL * Extended info on targetId parameter * Add help to each individual command * Reorganize sections in Readme.rst and merge in a single set of instructions. * Static analysis fixes * Fix CLI Linter errors * Fix CLI Linter errors. Part 2 * Fix typo in show command. * Fix show command for Linter * Use standard name for show command method * Modify workspace create test to skip role assignment * Update tests with workspace names used currently. * Update test recordings. * Set subscription for the recordings. * Update test recordings. * Update QDK version number * Remove asserts and checks for subscription * Experiment: Remove check for preview subscription * Refresh recordings with current test values. * Update recordings after typo fix. * Remove commented out API that references subscription * Enable QuantumJobsScenarioTest.test_submit_args only on live mode Co-authored-by: Ricardo Espinoza Co-authored-by: Feiyue Yu --- .github/CODEOWNERS | 2 + linter_exclusions.yml | 15 + src/quantum/HISTORY.rst | 8 + src/quantum/README.rst | 186 +++++++ src/quantum/azext_quantum/__init__.py | 26 + src/quantum/azext_quantum/_client_factory.py | 59 +++ src/quantum/azext_quantum/_help.py | 208 ++++++++ src/quantum/azext_quantum/_location_helper.py | 21 + src/quantum/azext_quantum/_params.py | 67 +++ src/quantum/azext_quantum/_validators.py | 61 +++ src/quantum/azext_quantum/azext_metadata.json | 4 + src/quantum/azext_quantum/commands.py | 108 ++++ .../azext_quantum/operations/__init__.py | 4 + src/quantum/azext_quantum/operations/job.py | 244 +++++++++ .../azext_quantum/operations/target.py | 69 +++ .../azext_quantum/operations/workspace.py | 205 ++++++++ src/quantum/azext_quantum/tests/__init__.py | 9 + .../azext_quantum/tests/latest/__init__.py | 9 + .../tests/latest/recordings/test_jobs.yaml | 98 ++++ .../tests/latest/recordings/test_targets.yaml | 97 ++++ .../latest/recordings/test_workspace.yaml | 383 ++++++++++++++ .../tests/latest/test_quantum_jobs.py | 79 +++ .../tests/latest/test_quantum_targets.py | 44 ++ .../tests/latest/test_quantum_workspace.py | 54 ++ .../azext_quantum/tests/latest/utils.py | 17 + .../azext_quantum/vendored_sdks/__init__.py | 6 + .../azure_mgmt_quantum/__init__.py | 18 + .../azure_mgmt_quantum/models/__init__.py | 98 ++++ .../models/azure_entity_resource.py | 50 ++ .../models/azure_entity_resource_py3.py | 50 ++ .../models/error_additional_info.py | 40 ++ .../models/error_additional_info_py3.py | 40 ++ .../models/error_definition.py | 46 ++ .../models/error_definition_py3.py | 46 ++ .../models/error_response.py | 41 ++ .../models/error_response_error.py | 55 ++ .../models/error_response_error_py3.py | 55 ++ .../models/error_response_py3.py | 41 ++ .../azure_mgmt_quantum/models/operation.py | 36 ++ .../models/operation_display.py | 40 ++ .../models/operation_display_py3.py | 40 ++ .../models/operation_paged.py | 27 + .../models/operation_py3.py | 36 ++ .../models/pricing_detail.py | 32 ++ .../models/pricing_detail_py3.py | 32 ++ .../models/pricing_dimension.py | 32 ++ .../models/pricing_dimension_py3.py | 32 ++ .../azure_mgmt_quantum/models/provider.py | 54 ++ .../models/provider_description.py | 44 ++ .../models/provider_description_paged.py | 27 + .../models/provider_description_py3.py | 44 ++ .../models/provider_properties.py | 76 +++ .../models/provider_properties_aad.py | 40 ++ .../models/provider_properties_aad_py3.py | 40 ++ ...provider_properties_managed_application.py | 40 ++ ...ider_properties_managed_application_py3.py | 40 ++ .../models/provider_properties_py3.py | 76 +++ .../azure_mgmt_quantum/models/provider_py3.py | 54 ++ .../models/proxy_resource.py | 45 ++ .../models/proxy_resource_py3.py | 45 ++ .../models/quantum_management_client_enums.py | 45 ++ .../models/quantum_workspace.py | 80 +++ .../models/quantum_workspace_identity.py | 45 ++ .../models/quantum_workspace_identity_py3.py | 45 ++ .../models/quantum_workspace_paged.py | 27 + .../models/quantum_workspace_py3.py | 80 +++ .../models/quota_dimension.py | 58 +++ .../models/quota_dimension_py3.py | 58 +++ .../azure_mgmt_quantum/models/resource.py | 47 ++ .../azure_mgmt_quantum/models/resource_py3.py | 47 ++ .../models/sku_description.py | 48 ++ .../models/sku_description_py3.py | 48 ++ .../azure_mgmt_quantum/models/tags_object.py | 28 ++ .../models/tags_object_py3.py | 28 ++ .../models/target_description.py | 47 ++ .../models/target_description_py3.py | 47 ++ .../models/tracked_resource.py | 55 ++ .../models/tracked_resource_py3.py | 55 ++ .../azure_mgmt_quantum/operations/__init__.py | 20 + .../operations/offerings_operations.py | 104 ++++ .../operations/operations.py | 96 ++++ .../operations/workspaces_operations.py | 475 ++++++++++++++++++ .../quantum_management_client.py | 91 ++++ .../azure_mgmt_quantum/version.py | 13 + .../vendored_sdks/azure_quantum/__init__.py | 18 + .../azure_quantum/models/__init__.py | 58 +++ .../azure_quantum/models/blob_details.py | 38 ++ .../azure_quantum/models/blob_details_py3.py | 38 ++ .../azure_quantum/models/error_data.py | 34 ++ .../azure_quantum/models/error_data_py3.py | 34 ++ .../azure_quantum/models/job_details.py | 120 +++++ .../azure_quantum/models/job_details_paged.py | 27 + .../azure_quantum/models/job_details_py3.py | 120 +++++ .../azure_quantum/models/provider_status.py | 47 ++ .../models/provider_status_paged.py | 27 + .../models/provider_status_py3.py | 47 ++ .../models/quantum_client_enums.py | 47 ++ .../azure_quantum/models/quota.py | 57 +++ .../azure_quantum/models/quota_paged.py | 27 + .../azure_quantum/models/quota_py3.py | 57 +++ .../azure_quantum/models/rest_error.py | 41 ++ .../azure_quantum/models/rest_error_py3.py | 41 ++ .../azure_quantum/models/sas_uri_response.py | 29 ++ .../models/sas_uri_response_py3.py | 29 ++ .../azure_quantum/models/target_status.py | 52 ++ .../azure_quantum/models/target_status_py3.py | 52 ++ .../azure_quantum/operations/__init__.py | 22 + .../operations/jobs_operations.py | 277 ++++++++++ .../operations/providers_operations.py | 99 ++++ .../operations/quotas_operations.py | 98 ++++ .../operations/storage_operations.py | 100 ++++ .../azure_quantum/quantum_client.py | 112 +++++ .../vendored_sdks/azure_quantum/version.py | 13 + src/quantum/setup.cfg | 1 + src/quantum/setup.py | 56 +++ 115 files changed, 7100 insertions(+) create mode 100644 src/quantum/HISTORY.rst create mode 100644 src/quantum/README.rst create mode 100644 src/quantum/azext_quantum/__init__.py create mode 100644 src/quantum/azext_quantum/_client_factory.py create mode 100644 src/quantum/azext_quantum/_help.py create mode 100644 src/quantum/azext_quantum/_location_helper.py create mode 100644 src/quantum/azext_quantum/_params.py create mode 100644 src/quantum/azext_quantum/_validators.py create mode 100644 src/quantum/azext_quantum/azext_metadata.json create mode 100644 src/quantum/azext_quantum/commands.py create mode 100644 src/quantum/azext_quantum/operations/__init__.py create mode 100644 src/quantum/azext_quantum/operations/job.py create mode 100644 src/quantum/azext_quantum/operations/target.py create mode 100644 src/quantum/azext_quantum/operations/workspace.py create mode 100644 src/quantum/azext_quantum/tests/__init__.py create mode 100644 src/quantum/azext_quantum/tests/latest/__init__.py create mode 100644 src/quantum/azext_quantum/tests/latest/recordings/test_jobs.yaml create mode 100644 src/quantum/azext_quantum/tests/latest/recordings/test_targets.yaml create mode 100644 src/quantum/azext_quantum/tests/latest/recordings/test_workspace.yaml create mode 100644 src/quantum/azext_quantum/tests/latest/test_quantum_jobs.py create mode 100644 src/quantum/azext_quantum/tests/latest/test_quantum_targets.py create mode 100644 src/quantum/azext_quantum/tests/latest/test_quantum_workspace.py create mode 100644 src/quantum/azext_quantum/tests/latest/utils.py create mode 100644 src/quantum/azext_quantum/vendored_sdks/__init__.py create mode 100644 src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/__init__.py create mode 100644 src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/__init__.py create mode 100644 src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/azure_entity_resource.py create mode 100644 src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/azure_entity_resource_py3.py create mode 100644 src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/error_additional_info.py create mode 100644 src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/error_additional_info_py3.py create mode 100644 src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/error_definition.py create mode 100644 src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/error_definition_py3.py create mode 100644 src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/error_response.py create mode 100644 src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/error_response_error.py create mode 100644 src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/error_response_error_py3.py create mode 100644 src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/error_response_py3.py create mode 100644 src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/operation.py create mode 100644 src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/operation_display.py create mode 100644 src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/operation_display_py3.py create mode 100644 src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/operation_paged.py create mode 100644 src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/operation_py3.py create mode 100644 src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/pricing_detail.py create mode 100644 src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/pricing_detail_py3.py create mode 100644 src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/pricing_dimension.py create mode 100644 src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/pricing_dimension_py3.py create mode 100644 src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/provider.py create mode 100644 src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/provider_description.py create mode 100644 src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/provider_description_paged.py create mode 100644 src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/provider_description_py3.py create mode 100644 src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/provider_properties.py create mode 100644 src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/provider_properties_aad.py create mode 100644 src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/provider_properties_aad_py3.py create mode 100644 src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/provider_properties_managed_application.py create mode 100644 src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/provider_properties_managed_application_py3.py create mode 100644 src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/provider_properties_py3.py create mode 100644 src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/provider_py3.py create mode 100644 src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/proxy_resource.py create mode 100644 src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/proxy_resource_py3.py create mode 100644 src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/quantum_management_client_enums.py create mode 100644 src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/quantum_workspace.py create mode 100644 src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/quantum_workspace_identity.py create mode 100644 src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/quantum_workspace_identity_py3.py create mode 100644 src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/quantum_workspace_paged.py create mode 100644 src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/quantum_workspace_py3.py create mode 100644 src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/quota_dimension.py create mode 100644 src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/quota_dimension_py3.py create mode 100644 src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/resource.py create mode 100644 src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/resource_py3.py create mode 100644 src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/sku_description.py create mode 100644 src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/sku_description_py3.py create mode 100644 src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/tags_object.py create mode 100644 src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/tags_object_py3.py create mode 100644 src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/target_description.py create mode 100644 src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/target_description_py3.py create mode 100644 src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/tracked_resource.py create mode 100644 src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/tracked_resource_py3.py create mode 100644 src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/operations/__init__.py create mode 100644 src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/operations/offerings_operations.py create mode 100644 src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/operations/operations.py create mode 100644 src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/operations/workspaces_operations.py create mode 100644 src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/quantum_management_client.py create mode 100644 src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/version.py create mode 100644 src/quantum/azext_quantum/vendored_sdks/azure_quantum/__init__.py create mode 100644 src/quantum/azext_quantum/vendored_sdks/azure_quantum/models/__init__.py create mode 100644 src/quantum/azext_quantum/vendored_sdks/azure_quantum/models/blob_details.py create mode 100644 src/quantum/azext_quantum/vendored_sdks/azure_quantum/models/blob_details_py3.py create mode 100644 src/quantum/azext_quantum/vendored_sdks/azure_quantum/models/error_data.py create mode 100644 src/quantum/azext_quantum/vendored_sdks/azure_quantum/models/error_data_py3.py create mode 100644 src/quantum/azext_quantum/vendored_sdks/azure_quantum/models/job_details.py create mode 100644 src/quantum/azext_quantum/vendored_sdks/azure_quantum/models/job_details_paged.py create mode 100644 src/quantum/azext_quantum/vendored_sdks/azure_quantum/models/job_details_py3.py create mode 100644 src/quantum/azext_quantum/vendored_sdks/azure_quantum/models/provider_status.py create mode 100644 src/quantum/azext_quantum/vendored_sdks/azure_quantum/models/provider_status_paged.py create mode 100644 src/quantum/azext_quantum/vendored_sdks/azure_quantum/models/provider_status_py3.py create mode 100644 src/quantum/azext_quantum/vendored_sdks/azure_quantum/models/quantum_client_enums.py create mode 100644 src/quantum/azext_quantum/vendored_sdks/azure_quantum/models/quota.py create mode 100644 src/quantum/azext_quantum/vendored_sdks/azure_quantum/models/quota_paged.py create mode 100644 src/quantum/azext_quantum/vendored_sdks/azure_quantum/models/quota_py3.py create mode 100644 src/quantum/azext_quantum/vendored_sdks/azure_quantum/models/rest_error.py create mode 100644 src/quantum/azext_quantum/vendored_sdks/azure_quantum/models/rest_error_py3.py create mode 100644 src/quantum/azext_quantum/vendored_sdks/azure_quantum/models/sas_uri_response.py create mode 100644 src/quantum/azext_quantum/vendored_sdks/azure_quantum/models/sas_uri_response_py3.py create mode 100644 src/quantum/azext_quantum/vendored_sdks/azure_quantum/models/target_status.py create mode 100644 src/quantum/azext_quantum/vendored_sdks/azure_quantum/models/target_status_py3.py create mode 100644 src/quantum/azext_quantum/vendored_sdks/azure_quantum/operations/__init__.py create mode 100644 src/quantum/azext_quantum/vendored_sdks/azure_quantum/operations/jobs_operations.py create mode 100644 src/quantum/azext_quantum/vendored_sdks/azure_quantum/operations/providers_operations.py create mode 100644 src/quantum/azext_quantum/vendored_sdks/azure_quantum/operations/quotas_operations.py create mode 100644 src/quantum/azext_quantum/vendored_sdks/azure_quantum/operations/storage_operations.py create mode 100644 src/quantum/azext_quantum/vendored_sdks/azure_quantum/quantum_client.py create mode 100644 src/quantum/azext_quantum/vendored_sdks/azure_quantum/version.py create mode 100644 src/quantum/setup.cfg create mode 100644 src/quantum/setup.py diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 3869f10100a..2b4958e5fdb 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -120,6 +120,8 @@ /src/account/ @arrownj @jiasli @fengzhou-msft +/src/quantum/ @anpaz-msft + /src/datashare/ @fengzhou-msft /src/ssh/ @rlrossiter @danybeam @arrownj diff --git a/linter_exclusions.yml b/linter_exclusions.yml index ea8917b9dad..2fb3ccdf693 100644 --- a/linter_exclusions.yml +++ b/linter_exclusions.yml @@ -1828,6 +1828,21 @@ providerhub resource-type-registration create: template_deployment_options: rule_exclusions: - option_length_too_long +quantum execute: + parameters: + program_args: + rule_exclusions: + - no_positional_parameters +quantum run: + parameters: + program_args: + rule_exclusions: + - no_positional_parameters +quantum job submit: + parameters: + program_args: + rule_exclusions: + - no_positional_parameters repos import create: parameters: git_service_endpoint_id: diff --git a/src/quantum/HISTORY.rst b/src/quantum/HISTORY.rst new file mode 100644 index 00000000000..66aa95e60b4 --- /dev/null +++ b/src/quantum/HISTORY.rst @@ -0,0 +1,8 @@ +.. :changelog: + +Release History +=============== + +0.1.0 +++++++ +* Initial release. Version intended to work with QDK version 0.15.2101125897 diff --git a/src/quantum/README.rst b/src/quantum/README.rst new file mode 100644 index 00000000000..2e07b870ca4 --- /dev/null +++ b/src/quantum/README.rst @@ -0,0 +1,186 @@ +======================================= +Microsoft Azure CLI 'quantum' Extension +======================================= + +Azure Quantum is the first open Quantum computing platform. It offers a range of services +from quantum hardware to full-state simulators and quantum inspired optimizations, +providing developers and customers access to the most competitive quantum offering +on the market. + +To learn more about azure quantum, visit: +https://azure.microsoft.com/en-us/services/quantum/ + +To learn more about quantum computing and Microsoft's Quantum Development Kit, visit: +https://docs.microsoft.com/quantum/ + + +Creating Q# programs for execution from the command line +======================================================== + +Prerequisites +------------- + +- You need to have an Azure Quantum workspace in your subscription. +- Install the [Quantum Development Kit](https://docs.microsoft.com/quantum/install-guide/standalone), if you haven't already. + + +Write your quantum application +------------------------------ + +First you need to have the Q# quantum application that you want to execute in +Azure Quantum. + +.. tip:: + If this is the first time for you to create Q# quantum applications, you can learn how + in our [Microsoft Learn module](https://docs.microsoft.com/en-us/learn/modules/qsharp-create-first-quantum-development-kit/). + +In this case we will use a simple quantum random bit generator. We create a Q# +project and substitute the content of `Program.qs` with the following code: + +.. code-block:: + + namespace RandomBit { + + open Microsoft.Quantum.Canon; + open Microsoft.Quantum.Intrinsic; + open Microsoft.Quantum.Measurement; + + @EntryPoint() + operation GenerateRandomBit() : Result { + use q = Qubit(); + H(q); + return MResetZ(q); + } + } + +Note that the `@EntryPoint` attribute tells Q# which operation to run when the program starts. + + +Prepare to submit and manage jobs in Azure Quantum using the `az quantum` extension +=================================================================================== + +1. Log in to Azure using your credentials. + + .. code-block:: + + az login + + .. note:: + In case you have more than one subscription associated with your Azure account you must specify the + subscription you want to use. You can do this with the command `az account set -s `. + + +2. Install the Quantum extension for the Azure CLI. + + .. code-block:: + + az extension add --name quantum + + +3. You can see all the Azure Quantum workspaces in your subscription with the `az quantum workspace list` command. + At this time, you need to create and set up your workspaces using the Azure Portal, please refer to the documentation + for Azure Quantum for details on this and how to choose providers. + + .. code-block:: + + az quantum workspace list + + +4. You can use `quantum workspace set` to select a default workspace you want to use to list and submit jobs. + Note that you also need to specify the resource group. If you set a default workspace by providing a resource group, + workspace name and location, you don't need to include those parameters in commands #5 to #8 below. + Anternatively, you can include them in each call. + + .. code-block:: + + az quantum workspace set -g MyResourceGroup -w MyWorkspace -l MyLocation -o table + + Location Name ResourceGroup + ----------- --------------------------------- -------------------------------- + westus ws-yyyyyy rg-yyyyyyyyy + + +.. note: + Commands below assume that a default workspace has been set. If you prefer to specify it + for each call, include the following parameters with commands below: + `-g MyResourceGroup -w MyWorkspace -l MyLocation` + + +5. You can check the current default workspace with command `az quantum workspace show`. + + .. code-block:: + + az quantum workspace show -o table + + Location Name ResourceGroup + ----------- --------------------------------- -------------------------------- + westus ws-yyyyyy rg-yyyyyyyyy + + +6. For this example we are going to use IonQ as the provider and the `ionq.simulator` as target. + To submit the job to the currently selected default quantum workspace, run the following from the directory + where you have the project created previously. + + .. code-block:: + + az quantum job submit --target-id ionq.simulator --job-name Hello -o table + + Name Id Status Target Submission time + ----- ------------------------------------ -------- -------------- --------------------------------- + Hello yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy Waiting ionq.simulator 2020-06-17T17:07:07.3484901+00:00 + + +7. You can see all the jobs submitted to a workspace using `az quantum job list`. + + .. code-block:: + + az quantum job list -o table + + Id State Target Submission time + ------------------------------------ ------- -------------- --------------------------------- + yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy Waiting MyProvider.MyTarget 2020-06-12T14:20:18.6109317+00:00 + + The console will output the information about the job, including the ID of the job. + + +8. You can use the ID of the job to track its status. + + .. code-block:: + + az quantum job show -id yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy -o table + + Id State Target Submission time + ------------------------------------ ------- -------------- --------------------------------- + yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy Waiting MyProvider.MyTarget 2020-06-12T14:20:18.6109317+00:00 + + +9. Once the job finishes (i.e. it's in a **Successful** state) you can visualize the job's results. + + .. code-block:: + + az quantum job output -id yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy -o table + + Result Frequency + -------- ----------- ------------------------- + [0,0] 0.25000000 ▐█████ | + [1,0] 0.25000000 ▐█████ | + [0,1] 0.25000000 ▐█████ | + [1,1] 0.25000000 ▐█████ | + + + The output shows a histogram with the frequency a specific result was measured. In the example above, + the result `[0,1]` was observed 25% of the times. + + +10. Alternatively, you can run a job synchronously and wait for it to complete. + + .. code-block:: + + az quantum execute --target-id ionq.simulator --job-name Hello2 -o table + + Result Frequency + -------- ----------- ------------------------- + [0,0] 0.25000000 ▐█████ | + [0,1] 0.75000000 ▐████████████████ | + + diff --git a/src/quantum/azext_quantum/__init__.py b/src/quantum/azext_quantum/__init__.py new file mode 100644 index 00000000000..1710931b51a --- /dev/null +++ b/src/quantum/azext_quantum/__init__.py @@ -0,0 +1,26 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- + +from azure.cli.core import AzCommandsLoader + +import azext_quantum._help # pylint: disable=unused-import + + +class QuantumCommandsLoader(AzCommandsLoader): + + def __init__(self, cli_ctx=None): + super(QuantumCommandsLoader, self).__init__(cli_ctx=cli_ctx) + + def load_command_table(self, args): + from azext_quantum.commands import load_command_table + load_command_table(self, args) + return self.command_table + + def load_arguments(self, command): + from azext_quantum._params import load_arguments + load_arguments(self, command) + + +COMMAND_LOADER_CLS = QuantumCommandsLoader diff --git a/src/quantum/azext_quantum/_client_factory.py b/src/quantum/azext_quantum/_client_factory.py new file mode 100644 index 00000000000..7eeaca3b937 --- /dev/null +++ b/src/quantum/azext_quantum/_client_factory.py @@ -0,0 +1,59 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- + +# pylint: disable=line-too-long + +import os +from ._location_helper import normalize_location + + +def is_env(name): + return 'AZURE_QUANTUM_ENV' in os.environ and os.environ['AZURE_QUANTUM_ENV'] == name + + +def base_url(location): + if 'AZURE_QUANTUM_BASEURL' in os.environ: + return os.environ['AZURE_QUANTUM_BASEURL'] + if is_env('canary'): + return "https://eastus2euap.quantum.azure.com/" + normalized_location = normalize_location(location) + if is_env('dogfood'): + return f"https://{normalized_location}.quantum-test.azure.com/" + return f"https://{normalized_location}.quantum.azure.com/" + + +def _get_data_credentials(cli_ctx, subscription_id=None): + from azure.cli.core._profile import Profile + profile = Profile(cli_ctx=cli_ctx) + creds, _, _ = profile.get_login_credentials(subscription_id=subscription_id, resource="https://quantum.microsoft.com") + return creds + + +def cf_quantum(cli_ctx, subscription_id=None, resource_group_name=None, workspace_name=None, location=None): + from .vendored_sdks.azure_quantum import QuantumClient + creds = _get_data_credentials(cli_ctx, subscription_id) + return QuantumClient(creds, subscription_id, resource_group_name, workspace_name, base_url=base_url(location)) + + +def cf_quantum_mgmt(cli_ctx, *_): + from azure.cli.core.commands.client_factory import get_mgmt_service_client + from .vendored_sdks.azure_mgmt_quantum import QuantumManagementClient + return get_mgmt_service_client(cli_ctx, QuantumManagementClient) + + +def cf_workspaces(cli_ctx, *_): + return cf_quantum_mgmt(cli_ctx).workspaces + + +def cf_providers(cli_ctx, subscription_id=None, resource_group_name=None, workspace_name=None, location=None): + return cf_quantum(cli_ctx, subscription_id, resource_group_name, workspace_name, location).providers + + +def cf_jobs(cli_ctx, subscription_id=None, resource_group_name=None, workspace_name=None, location=None): + return cf_quantum(cli_ctx, subscription_id, resource_group_name, workspace_name, location).jobs + + +def cf_quotas(cli_ctx, subscription_id=None, resource_group_name=None, workspace_name=None, location=None): + return cf_quantum(cli_ctx, subscription_id, resource_group_name, workspace_name, location).quotas diff --git a/src/quantum/azext_quantum/_help.py b/src/quantum/azext_quantum/_help.py new file mode 100644 index 00000000000..ddbe5cce9b5 --- /dev/null +++ b/src/quantum/azext_quantum/_help.py @@ -0,0 +1,208 @@ +# coding=utf-8 +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- + +from knack.help_files import helps # pylint: disable=unused-import + +helps['quantum'] = """ + type: group + short-summary: Manage Azure Quantum Workspaces and submit jobs to Azure Quantum Providers. +""" + +helps['quantum execute'] = """ + type: command + short-summary: Submit a job to run on Azure Quantum, and waits for the result. + examples: + - name: Submit the Q# program from the current folder and wait for the result. + text: |- + az quantum execute -g MyResourceGroup -w MyWorkspace -l MyLocation +""" + +helps['quantum run'] = """ + type: command + short-summary: Equivalent to `az quantum execute` + examples: + - name: Submit the Q# program from the current folder and wait for the result. + text: |- + az quantum run -g MyResourceGroup -w MyWorkspace -l MyLocation +""" + +helps['quantum job'] = """ + type: group + short-summary: Manage jobs for Azure Quantum. +""" + +helps['quantum job list'] = """ + type: command + short-summary: Get the list of jobs in a Quantum Workspace. + examples: + - name: Get the list of jobs from an Azure Quantum workspace. + text: |- + az quantum job list -g MyResourceGroup -w MyWorkspace -l MyLocation +""" + +helps['quantum job output'] = """ + type: command + short-summary: Get the results of running a Q# job. + examples: + - name: Print the results of a successful Azure Quantum job. + text: |- + az quantum job output -g MyResourceGroup -w MyWorkspace -l MyLocation \\ + -j yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy -o table +""" + +helps['quantum job show'] = """ + type: command + short-summary: Get the job's status and details. + examples: + - name: Get the status of an Azure Quantum job. + text: |- + az quantum job show -g MyResourceGroup -w MyWorkspace -l MyLocation \\ + -j yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy --query status +""" + +helps['quantum job submit'] = """ + type: command + short-summary: Submit a Q# project to run on Azure Quantum. + examples: + - name: Submit the Q# program from the current folder. + text: |- + az quantum job submit -g MyResourceGroup -w MyWorkspace -l MyLocation \\ + -l MyLocation --job-name MyJob +""" + +helps['quantum job wait'] = """ + type: command + short-summary: Place the CLI in a waiting state until the job finishes running. + examples: + - name: Wait for completion of a job for 60 seconds. + text: |- + az quantum job wait -g MyResourceGroup -w MyWorkspace -l MyLocation \\ + -j yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy --max-poll-wait-secs 60 -o table +""" + + +helps['quantum target'] = """ + type: group + short-summary: Manage targets for Azure Quantum workspaces. +""" + +helps['quantum target clear'] = """ + type: command + short-summary: Clear the default target-id. + examples: + - name: Clear the default target-id. + text: |- + az quantum target clear +""" + +helps['quantum target list'] = """ + type: command + short-summary: Get the list of providers and their targets in an Azure Quantum workspace. + examples: + - name: Get the list of targets available in a Azure Quantum workspaces + text: |- + az quantum target list -g MyResourceGroup -w MyWorkspace -l MyLocation +""" + +helps['quantum target set'] = """ + type: command + short-summary: Select the default target to use when submitting jobs to Azure Quantum. + examples: + - name: Select a default when submitting jobs to Azure Quantum. + text: |- + az quantum target set -t target-id +""" + +helps['quantum target show'] = """ + type: command + short-summary: Get the details of the given (or current) target to use when submitting jobs to Azure Quantum. + examples: + - name: Show the currently selected default target + text: |- + az quantum target show +""" + +helps['quantum workspace'] = """ + type: group + short-summary: Manage Azure Quantum workspaces. +""" + +helps['quantum workspace clear'] = """ + type: command + short-summary: Clear the default Azure Quantum workspace. + examples: + - name: Clear the default Azure Quantum workspace if previously set. + text: |- + az quantum workspace clear +""" + +helps['quantum workspace create'] = """ + type: command + short-summary: Create a new Azure Quantum workspace. + examples: + - name: Create a new Azure Quantum workspace. + text: |- + az quantum workspace create -g MyResourceGroup -w MyWorkspace -l MyLocation \\ + -a MyStorageAccountName +""" + +helps['quantum workspace delete'] = """ + type: command + short-summary: Delete the given (or current) Azure Quantum workspace. + examples: + - name: Delete an Azure Quantum workspace by name and group. + text: |- + az quantum workspace delete -g MyResourceGroup -w MyWorkspace + - name: Delete and clear the default Azure Quantum workspace (if one has been set). + text: |- + az quantum workspace delete +""" + +helps['quantum workspace list'] = """ + type: command + short-summary: Get the list of Azure Quantum workspaces available. + examples: + - name: Get the list of all Azure Quantum workspaces available. + text: |- + az quantum workspace list + - name: Get the list Azure Quantum workspaces available in a location. + text: |- + az quantum workspace list -l MyLocation + +""" + +helps['quantum workspace quotas'] = """ + type: command + short-summary: List the quotas for the given (or current) Azure Quantum workspace. + examples: + - name: List the quota information of the default workspace if set. + text: |- + az quantum workspace quotas + - name: List the quota information of a specified Azure Quantum workspace. + text: |- + az quantum workspace quotas -g MyResourceGroup -w MyWorkspace -l MyLocation +""" + +helps['quantum workspace set'] = """ + type: command + short-summary: Select a default Azure Quantum workspace for future commands. + examples: + - name: Set the default Azure Quantum workspace. + text: |- + az quantum workspace set -g MyResourceGroup -w MyWorkspace -l MyLocation +""" + +helps['quantum workspace show'] = """ + type: command + short-summary: Get the details of the given (or current) Azure Quantum workspace. + examples: + - name: Show the currently selected default Azure Quantum workspace. + text: |- + az quantum workspace show + - name: Show the details of a provided Azure Quantum workspace. + text: |- + az quantum workspace show -g MyResourceGroup -w MyWorkspace +""" diff --git a/src/quantum/azext_quantum/_location_helper.py b/src/quantum/azext_quantum/_location_helper.py new file mode 100644 index 00000000000..107c2c6e27b --- /dev/null +++ b/src/quantum/azext_quantum/_location_helper.py @@ -0,0 +1,21 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- + +import re + +DEFAULT_WORKSPACE_LOCATION = 'westus' + + +# Currently, we're only checking that the provided location doesn't contain unsafe characters +# but there is no guarantee that the returned value exists as an Azure region. +# If an invalid region is specified, then the error will happen when the corresponding API +# endpoint isn't found. +def normalize_location(raw_location): + if not raw_location: + return DEFAULT_WORKSPACE_LOCATION + location = re.sub("[^A-Za-z0-9]", "", raw_location).lower() + if not location: + return DEFAULT_WORKSPACE_LOCATION + return location diff --git a/src/quantum/azext_quantum/_params.py b/src/quantum/azext_quantum/_params.py new file mode 100644 index 00000000000..66beb65aadb --- /dev/null +++ b/src/quantum/azext_quantum/_params.py @@ -0,0 +1,67 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- +# pylint: disable=line-too-long + +from knack.arguments import CLIArgumentType + + +def load_arguments(self, _): + workspace_name_type = CLIArgumentType(options_list=['--workspace-name', '-w'], help='Name of the Quantum Workspace. You can configure the default workspace using `az quantum workspace set`.', id_part=None, required=False) + storage_account_name_type = CLIArgumentType(options_list=['--storage-account', '-a'], help='Name of the storage account to be used by a quantum workspace.') + program_args_type = CLIArgumentType(nargs='*', help='List of arguments expected by the Q# operation specified as --name=value after `--`.') + target_id_type = CLIArgumentType(options_list=['--target-id', '-t'], help='Execution engine for quantum computing jobs. When a workspace is configured with a set of provider, they each enable one or more targets.') + project_type = CLIArgumentType(help='The location of the Q# project to submit. Defaults to current folder.') + job_name_type = CLIArgumentType(help='A friendly name to give to this run of the program.') + job_id_type = CLIArgumentType(options_list=['--job-id', '-j'], help='Job unique identifier in GUID format.') + shots_type = CLIArgumentType(help='The number of times to run the Q# program on the given target.') + no_build_type = CLIArgumentType(help='If specified, the Q# program is not built before submitting.') + storage_type = CLIArgumentType(help='If specified, the ConnectionString of an Azure Storage is used to store job data and results.') + max_poll_wait_secs_type = CLIArgumentType(help='Poll time in seconds to query Azure Quantum for results of the corresponding job.') + tag_type = CLIArgumentType(help='Show only quantum workspaces that have associated the specified tag.') + skip_role_assignment_type = CLIArgumentType(help='Skips the role assignment step for the quantum workspace in the storage account.') + + with self.argument_context('quantum workspace') as c: + c.argument('workspace_name', workspace_name_type) + c.argument('storage_account', storage_account_name_type) + c.argument('tag', tag_type) + c.argument('skip_role_assignment', skip_role_assignment_type) + + with self.argument_context('quantum target') as c: + c.argument('workspace_name', workspace_name_type) + c.argument('target_id', target_id_type) + + with self.argument_context('quantum job') as c: + c.argument('workspace_name', workspace_name_type) + c.argument('job_id', job_id_type) + c.argument('target_id', target_id_type) + c.argument('project', project_type) + c.argument('job_name', job_name_type) + c.argument('shots', shots_type) + c.argument('storage', storage_type) + c.argument('no_build', no_build_type) + c.argument('max_poll_wait_secs', max_poll_wait_secs_type) + + with self.argument_context('quantum job submit') as c: + c.positional('program_args', program_args_type) + + with self.argument_context('quantum execute') as c: + c.argument('workspace_name', workspace_name_type) + c.argument('target_id', target_id_type) + c.argument('project', project_type) + c.argument('job_name', job_name_type) + c.argument('shots', shots_type) + c.argument('storage', storage_type) + c.argument('no_build', no_build_type) + c.positional('program_args', program_args_type) + + with self.argument_context('quantum run') as c: + c.argument('workspace_name', workspace_name_type) + c.argument('target_id', target_id_type) + c.argument('project', project_type) + c.argument('job_name', job_name_type) + c.argument('shots', shots_type) + c.argument('storage', storage_type) + c.argument('no_build', no_build_type) + c.positional('program_args', program_args_type) diff --git a/src/quantum/azext_quantum/_validators.py b/src/quantum/azext_quantum/_validators.py new file mode 100644 index 00000000000..83f37558818 --- /dev/null +++ b/src/quantum/azext_quantum/_validators.py @@ -0,0 +1,61 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- + +# pylint: disable=line-too-long + +from .operations.workspace import WorkspaceInfo +from .operations.target import TargetInfo + + +def validate_workspace_internal(cmd, namespace, require_location): + """ + Internal implementation to validate workspace info parameters with an optional location + """ + group = getattr(namespace, 'resource_group_name', None) + name = getattr(namespace, 'workspace_name', None) + location = getattr(namespace, 'location', None) + ws = WorkspaceInfo(cmd, group, name, location) + + if not ws.subscription: + raise ValueError("Missing subscription argument") + if not ws.resource_group: + raise ValueError("Missing resource-group argument") + if not ws.name: + raise ValueError("Missing workspace-name argument") + if require_location and not ws.location: + raise ValueError("Missing location argument") + + +def validate_workspace_info(cmd, namespace): + """ + Makes sure all parameters for a workspace are available including location. + """ + validate_workspace_internal(cmd, namespace, True) + + +def validate_workspace_info_no_location(cmd, namespace): + """ + Makes sure all parameters for a workspace are available, not including location. + """ + validate_workspace_internal(cmd, namespace, False) + + +def validate_target_info(cmd, namespace): + """ + Makes sure all parameters for a target are available. + """ + target_id = getattr(namespace, 'target_id', None) + target = TargetInfo(cmd, target_id) + + if not target.target_id: + raise ValueError("Missing target-id argument") + + +def validate_workspace_and_target_info(cmd, namespace): + """ + Makes sure all parameters for both, a workspace and a target are available. + """ + validate_workspace_info(cmd, namespace) + validate_target_info(cmd, namespace) diff --git a/src/quantum/azext_quantum/azext_metadata.json b/src/quantum/azext_quantum/azext_metadata.json new file mode 100644 index 00000000000..44a31e479f5 --- /dev/null +++ b/src/quantum/azext_quantum/azext_metadata.json @@ -0,0 +1,4 @@ +{ + "azext.isPreview": true, + "azext.minCliCoreVersion": "2.5.1" +} diff --git a/src/quantum/azext_quantum/commands.py b/src/quantum/azext_quantum/commands.py new file mode 100644 index 00000000000..fd26069684e --- /dev/null +++ b/src/quantum/azext_quantum/commands.py @@ -0,0 +1,108 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- + +# pylint: disable=line-too-long + +from collections import OrderedDict +from azure.cli.core.commands import CliCommandType +from ._validators import validate_workspace_info, validate_target_info, validate_workspace_and_target_info, validate_workspace_info_no_location + + +def transform_targets(providers): + def one(provider, target): + return OrderedDict([ + ('Provider', provider), + ('Target-id', target['id']), + ('Current Availability', target['currentAvailability']), + ('Average Queue Time', target['averageQueueTime']) + ]) + + return [ + one(provider['id'], target) + for provider in providers + for target in provider['targets'] + ] + + +def transform_job(result): + result = OrderedDict([ + ('Name', result['name']), + ('Id', result['id']), + ('Status', result['status']), + ('Target', result['target']), + ('Submission time', result['creationTime']), + ('Completion time', result['endExecutionTime']) + ]) + return result + + +def transform_jobs(results): + def creation(job): + return job['creationTime'] + + return [transform_job(job) for job in sorted(results, key=creation, reverse=True)] + + +def transform_output(results): + def one(key, value): + repeat = round(20 * value) + barra = "\u2588" * repeat + return OrderedDict([ + ('Result', key), + ('Frequency', f"{value:10.8f}"), + ('', f"\u2590{barra:<22} |"), + ]) + + if 'Histogram' in results: + histogram = results['Histogram'] + # The Histogram serialization is odd entries are key and even entries values + # Make sure we have even entries + if (len(histogram) % 2) == 0: + table = [] + items = range(0, len(histogram), 2) + for i in items: + key = histogram[i] + value = histogram[i + 1] + table.append(one(key, value)) + return table + + elif 'histogram' in results: + histogram = results['histogram'] + return [one(key, histogram[key]) for key in histogram] + + return results + + +def load_command_table(self, _): + + workspace_ops = CliCommandType(operations_tmpl='azext_quantum.operations.workspace#{}') + job_ops = CliCommandType(operations_tmpl='azext_quantum.operations.job#{}') + target_ops = CliCommandType(operations_tmpl='azext_quantum.operations.target#{}') + + with self.command_group('quantum workspace', workspace_ops) as w: + w.command('create', 'create') + w.command('delete', 'delete', validator=validate_workspace_info_no_location) + w.command('list', 'list') + w.show_command('show', validator=validate_workspace_info_no_location) + w.command('set', 'set', validator=validate_workspace_info) + w.command('clear', 'clear') + w.command('quotas', 'quotas', validator=validate_workspace_info) + + with self.command_group('quantum target', target_ops) as t: + t.command('list', 'list', validator=validate_workspace_info, table_transformer=transform_targets) + t.show_command('show', validator=validate_target_info) + t.command('set', 'set', validator=validate_target_info) + t.command('clear', 'clear') + + with self.command_group('quantum job', job_ops) as j: + j.command('list', 'list', validator=validate_workspace_info, table_transformer=transform_jobs) + j.show_command('show', validator=validate_workspace_info, table_transformer=transform_job) + j.command('submit', 'submit', validator=validate_workspace_and_target_info, table_transformer=transform_job) + j.command('wait', 'wait', validator=validate_workspace_info, table_transformer=transform_job) + j.command('output', 'output', validator=validate_workspace_info, table_transformer=transform_output) + + with self.command_group('quantum', job_ops, is_preview=True) as q: + q.command('run', 'run', validator=validate_workspace_and_target_info, table_transformer=transform_output) + q.command('execute', 'run', validator=validate_workspace_and_target_info, table_transformer=transform_output) diff --git a/src/quantum/azext_quantum/operations/__init__.py b/src/quantum/azext_quantum/operations/__init__.py new file mode 100644 index 00000000000..34913fb394d --- /dev/null +++ b/src/quantum/azext_quantum/operations/__init__.py @@ -0,0 +1,4 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- diff --git a/src/quantum/azext_quantum/operations/job.py b/src/quantum/azext_quantum/operations/job.py new file mode 100644 index 00000000000..25a9cb29d36 --- /dev/null +++ b/src/quantum/azext_quantum/operations/job.py @@ -0,0 +1,244 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- + +# pylint: disable=redefined-builtin + +import logging + +from knack.util import CLIError + +from .._client_factory import cf_jobs, _get_data_credentials, base_url +from .workspace import WorkspaceInfo +from .target import TargetInfo + +logger = logging.getLogger(__name__) + + +def list(cmd, resource_group_name=None, workspace_name=None, location=None): + """ + Get the list of jobs in a Quantum Workspace. + """ + info = WorkspaceInfo(cmd, resource_group_name, workspace_name, location) + client = cf_jobs(cmd.cli_ctx, info.subscription, info.resource_group, info.name, info.location) + return client.list() + + +def get(cmd, job_id, resource_group_name=None, workspace_name=None, location=None): + """ + Get the job's status and details. + """ + info = WorkspaceInfo(cmd, resource_group_name, workspace_name, location) + client = cf_jobs(cmd.cli_ctx, info.subscription, info.resource_group, info.name, info.location) + return client.get(job_id) + + +def build(cmd, target_id=None, project=None): + """ + Compile a Q# program to run on Azure Quantum. + """ + target = TargetInfo(cmd, target_id) + + args = ["dotnet", "build"] + + args.append(f"-property:ExecutionTarget={target.target_id}") + + if project: + args.append("--project") + args.append(project) + + logger.debug("Building project with arguments:") + logger.debug(args) + + import subprocess + result = subprocess.run(args, stdout=subprocess.PIPE, check=False) + + if result.returncode == 0: + return {'result': 'ok'} + + raise CLIError("Failed to compile program.") + + +def _generate_submit_args(program_args, ws, target, token, project, job_name, shots, storage): + """ Generates the list of arguments for calling submit on a Q# project """ + + args = ["dotnet", "run", "--no-build"] + + if project: + args.append("--project") + args.append(project) + + args.append("--") + args.append("submit") + + args.append("--subscription") + args.append(ws.subscription) + + args.append("--resource-group") + args.append(ws.resource_group) + + args.append("--workspace") + args.append(ws.name) + + args.append("--target") + args.append(target.target_id) + + args.append("--output") + args.append("Id") + + if job_name: + args.append("--job-name") + args.append(job_name) + + if shots: + args.append("--shots") + args.append(shots) + + if storage: + args.append("--storage") + args.append(storage) + + args.append("--aad-token") + args.append(token) + + args.append("--base-uri") + args.append(base_url(ws.location)) + + args.extend(program_args) + + logger.debug("Running project with arguments:") + logger.debug(args) + + return args + + +def submit(cmd, program_args, resource_group_name=None, workspace_name=None, location=None, + target_id=None, project=None, job_name=None, shots=None, storage=None, no_build=False): + """ + Submit a Q# project to run on Azure Quantum. + """ + + # We first build and then call run. + # Can't call run directly because it fails to understand the + # `ExecutionTarget` property when passed in the command line + if not no_build: + build(cmd, target_id=target_id, project=project) + + logger.info("Project built successfully.") + + ws = WorkspaceInfo(cmd, resource_group_name, workspace_name, location) + target = TargetInfo(cmd, target_id) + token = _get_data_credentials(cmd.cli_ctx, ws.subscription).get_token().token + + args = _generate_submit_args(program_args, ws, target, token, project, job_name, shots, storage) + + import subprocess + result = subprocess.run(args, stdout=subprocess.PIPE, check=False) + + if result.returncode == 0: + job_id = result.stdout.decode('ascii').strip() + return get(cmd, job_id, resource_group_name, workspace_name) + + raise CLIError("Failed to submit job.") + + +def _parse_blob_url(url): + from urllib.parse import urlparse + o = urlparse(url) + + try: + account_name = o.netloc.split('.')[0] + container = o.path.split('/')[-2] + blob = o.path.split('/')[-1] + sas_token = o.query + except IndexError: + raise CLIError(f"Failed to parse malformed blob URL: {url}") + + return { + "account_name": account_name, + "container": container, + "blob": blob, + "sas_token": sas_token + } + + +def output(cmd, job_id, resource_group_name=None, workspace_name=None, location=None): + """ + Get the results of running a Q# job. + """ + import tempfile + import json + import os + from azure.cli.command_modules.storage._client_factory import blob_data_service_factory + + path = os.path.join(tempfile.gettempdir(), job_id) + + if os.path.exists(path): + logger.debug("Using existing blob from %s", path) + else: + logger.debug("Downloading job results blob into %s", path) + + info = WorkspaceInfo(cmd, resource_group_name, workspace_name, location) + client = cf_jobs(cmd.cli_ctx, info.subscription, info.resource_group, info.name, info.location) + job = client.get(job_id) + + if job.status != "Succeeded": + return f"Job status: {job.status}. Output only available if Succeeded." + + args = _parse_blob_url(job.output_data_uri) + blob_service = blob_data_service_factory(cmd.cli_ctx, args) + blob_service.get_blob_to_path(args['container'], args['blob'], path) + + with open(path) as json_file: + data = json.load(json_file) + return data + + +def wait(cmd, job_id, resource_group_name=None, workspace_name=None, location=None, max_poll_wait_secs=5): + """ + Place the CLI in a waiting state until the job finishes running. + """ + import time + + def has_completed(job): + return job.status in ("Succeeded", "Failed", "Cancelled") + + info = WorkspaceInfo(cmd, resource_group_name, workspace_name, location) + client = cf_jobs(cmd.cli_ctx, info.subscription, info.resource_group, info.name, info.location) + + # TODO: LROPoller... + wait_indicators_used = False + poll_wait = 0.2 + job = client.get(job_id) + + while not has_completed(job): + print('.', end='', flush=True) + wait_indicators_used = True + time.sleep(poll_wait) + job = client.get(job_id) + poll_wait = max_poll_wait_secs if poll_wait >= max_poll_wait_secs else poll_wait * 1.5 + + if wait_indicators_used: + # Insert a new line if we had to display wait indicators. + print() + + return job + + +def run(cmd, program_args, resource_group_name=None, workspace_name=None, location=None, target_id=None, + project=None, job_name=None, shots=None, storage=None, no_build=False): + """ + Submit a job to run on Azure Quantum, and waits for the result. + """ + job = submit(cmd, program_args, resource_group_name, workspace_name, location, target_id, project, job_name, shots, storage, no_build) + logger.warning("Job id: %s", job.id) + logger.debug(job) + + job = wait(cmd, job.id, resource_group_name, workspace_name, location) + logger.debug(job) + + if not job.status == "Succeeded": + return job + + return output(cmd, job.id, resource_group_name, workspace_name) diff --git a/src/quantum/azext_quantum/operations/target.py b/src/quantum/azext_quantum/operations/target.py new file mode 100644 index 00000000000..3e584660027 --- /dev/null +++ b/src/quantum/azext_quantum/operations/target.py @@ -0,0 +1,69 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- + +# pylint: disable=line-too-long,redefined-builtin + +from .._client_factory import cf_providers +from .workspace import WorkspaceInfo + + +class TargetInfo(object): + def __init__(self, cmd, target_id=None): + + def select_value(key, value): + if value is not None: + return value + value = cmd.cli_ctx.config.get('quantum', key, None) + if value is not None: + return value + value = cmd.cli_ctx.config.get(cmd.cli_ctx.config.defaults_section_name, key, None) + return value + + self.target_id = select_value('target_id', target_id) + + def clear(self): + self.target_id = '' + + def save(self, cmd): + from azure.cli.core.util import ConfiguredDefaultSetter + + with ConfiguredDefaultSetter(cmd.cli_ctx.config, False): + cmd.cli_ctx.config.set_value('quantum', 'target_id', self.target_id) + + +def get(cmd, target_id=None): + """ + Get the details of the given (or current) target to use when submitting jobs to Azure Quantum. + """ + info = TargetInfo(cmd, target_id) + return info + + +def set(cmd, target_id=None): + """ + Select the default target to use when submitting jobs to Azure Quantum. + """ + info = TargetInfo(cmd, target_id) + if info: + info.save(cmd) + return info + + +def list(cmd, resource_group_name=None, workspace_name=None, location=None): + """ + Get the list of providers and their targets in an Azure Quantum workspace. + """ + info = WorkspaceInfo(cmd, resource_group_name, workspace_name, location) + client = cf_providers(cmd.cli_ctx, info.subscription, info.resource_group, info.name, info.location) + return client.get_status() + + +def clear(cmd): + """ + Clear the default target-id. + """ + info = TargetInfo(cmd) + info.clear() + info.save(cmd) diff --git a/src/quantum/azext_quantum/operations/workspace.py b/src/quantum/azext_quantum/operations/workspace.py new file mode 100644 index 00000000000..5f5123187c9 --- /dev/null +++ b/src/quantum/azext_quantum/operations/workspace.py @@ -0,0 +1,205 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- + +# pylint: disable=line-too-long,redefined-builtin + +from knack.util import CLIError + +from .._client_factory import cf_workspaces, cf_quotas +from ..vendored_sdks.azure_mgmt_quantum.models import QuantumWorkspace +from ..vendored_sdks.azure_mgmt_quantum.models import QuantumWorkspaceIdentity +from ..vendored_sdks.azure_mgmt_quantum.models import Provider +from msrestazure.azure_exceptions import CloudError + +import time + +DEFAULT_WORKSPACE_LOCATION = 'westus' +POLLING_TIME_DURATION = 3 +MAX_RETRIES_ROLE_ASSIGNMENT = 10 + + +class WorkspaceInfo(object): + def __init__(self, cmd, resource_group_name=None, workspace_name=None, location=None): + from azure.cli.core.commands.client_factory import get_subscription_id + + # Hierarchically selects the value for the given key. + # First tries the value provided as argument, as that represents the value from the command line + # then it checks if the key exists in the 'quantum' section in config, and uses that if available. + # finally, it checks in the 'global' section in the config. + def select_value(key, value): + if value is not None: + return value + value = cmd.cli_ctx.config.get('quantum', key, None) + if value is not None: + return value + value = cmd.cli_ctx.config.get(cmd.cli_ctx.config.defaults_section_name, key, None) + return value + + self.subscription = get_subscription_id(cmd.cli_ctx) + self.resource_group = select_value('group', resource_group_name) + self.name = select_value('workspace', workspace_name) + self.location = select_value('location', location) + + def clear(self): + self.subscription = '' + self.resource_group = '' + self.name = '' + self.location = '' + + def save(self, cmd): + from azure.cli.core.util import ConfiguredDefaultSetter + + with ConfiguredDefaultSetter(cmd.cli_ctx.config, False): + cmd.cli_ctx.config.set_value('quantum', 'group', self.resource_group) + cmd.cli_ctx.config.set_value('quantum', 'workspace', self.name) + cmd.cli_ctx.config.set_value('quantum', 'location', self.location) + + +def _show_tip(msg): + import colorama + colorama.init() + print(f"\033[1m{colorama.Fore.YELLOW}{msg}{colorama.Style.RESET_ALL}") + + +def _get_storage_account_path(workspaceInfo, storage_account_name): + if (storage_account_name[0] == "/"): + path = storage_account_name + else: + path = f"/subscriptions/{workspaceInfo.subscription}/resourceGroups/{workspaceInfo.resource_group}/providers/Microsoft.Storage/storageAccounts/{storage_account_name}" + return path + + +def _get_basic_quantum_workspace(location, info, storage_account): + qw = QuantumWorkspace(location=location) + # Use a default provider + # Replace this with user specified providers as part of task 16184. + prov = Provider() + prov.provider_id = "Microsoft" + prov.provider_sku = "Basic" + qw.providers = [prov] + # Allow the system to assign the workspace identity + qw.identity = QuantumWorkspaceIdentity() + qw.identity.type = "SystemAssigned" + qw.storage_account = _get_storage_account_path(info, storage_account) + return qw + + +def _create_role_assignment(cmd, quantum_workspace): + from azure.cli.command_modules.role.custom import create_role_assignment + retry_attempts = 0 + while (retry_attempts < MAX_RETRIES_ROLE_ASSIGNMENT): + try: + create_role_assignment(cmd, role="Contributor", scope=quantum_workspace.storage_account, assignee=quantum_workspace.identity.principal_id) + break + except (CloudError, CLIError) as e: + error = str(e.args).lower() + if (("does not exist" in error) or ("cannot find" in error)): + print('.', end='', flush=True) + time.sleep(POLLING_TIME_DURATION) + retry_attempts += 1 + continue + raise e + except Exception as x: + raise CLIError(f"Role assignment encountered exception ({type(x).__name__}): {x}") + if (retry_attempts > 0): + print() # To end the line of the waiting indicators. + if (retry_attempts == MAX_RETRIES_ROLE_ASSIGNMENT): + raise CLIError(f"Role assignment could not be added to storage account {quantum_workspace.storage_account}.") + return quantum_workspace + + +def create(cmd, resource_group_name=None, workspace_name=None, location=None, storage_account=None, skip_role_assignment=False): + """ + Create a new Azure Quantum workspace. + """ + client = cf_workspaces(cmd.cli_ctx) + if (not workspace_name): + raise CLIError("An explicit workspace name is required for this command.") + if (not storage_account): + raise CLIError("A quantum workspace requires a valid storage account.") + if (not location): + raise CLIError("A location for the new quantum workspace is required.") + info = WorkspaceInfo(cmd, resource_group_name, workspace_name, location) + if (not info.resource_group): + raise CLIError("Please run 'az quantum workspace set' first to select a default resource group.") + _show_tip(f"Workspace {info.name} will be created with the Basic SKU of the Microsoft QIO optimization provider.\n" + "Please go to the Azure portal https://portal.azure.com/ to configure additional providers.") + quantum_workspace = _get_basic_quantum_workspace(location, info, storage_account) + poller = client.create_or_update(info.resource_group, info.name, quantum_workspace, polling=False) + while not poller.done(): + time.sleep(POLLING_TIME_DURATION) + quantum_workspace = poller.result() + if (not skip_role_assignment): + quantum_workspace = _create_role_assignment(cmd, quantum_workspace) + return quantum_workspace + + +def delete(cmd, resource_group_name=None, workspace_name=None): + """ + Delete the given (or current) Azure Quantum workspace. + """ + client = cf_workspaces(cmd.cli_ctx) + info = WorkspaceInfo(cmd, resource_group_name, workspace_name) + if (not info.resource_group) or (not info.name): + raise CLIError("Please run 'az quantum workspace set' first to select a default Quantum Workspace.") + client.delete(info.resource_group, info.name, polling=False) + # If we deleted the current workspace, clear it + curr_ws = WorkspaceInfo(cmd) + if (curr_ws.resource_group == info.resource_group and curr_ws.name == info.name): + curr_ws.clear() + curr_ws.save(cmd) + # Get updated information from the affected workspace + ws = client.get(info.resource_group, info.name) + return ws + + +def list(cmd, resource_group_name=None, tag=None, location=None): + """ + Get the list of Azure Quantum workspaces available. + """ + from azure.cli.command_modules.resource.custom import list_resources + return list_resources(cmd, resource_group_name=resource_group_name, resource_type="Microsoft.Quantum/Workspaces", tag=tag, location=location) + + +def get(cmd, resource_group_name=None, workspace_name=None): + """ + Get the details of the given (or current) Azure Quantum workspace. + """ + client = cf_workspaces(cmd.cli_ctx) + info = WorkspaceInfo(cmd, resource_group_name, workspace_name, None) + if (not info.resource_group) or (not info.name): + raise CLIError("Please run 'az quantum workspace set' first to select a default Quantum Workspace.") + ws = client.get(info.resource_group, info.name) + return ws + + +def quotas(cmd, resource_group_name=None, workspace_name=None, location=None): + """ + List the quotas for the given (or current) Azure Quantum workspace. + """ + info = WorkspaceInfo(cmd, resource_group_name, workspace_name, location) + client = cf_quotas(cmd.cli_ctx, info.subscription, info.resource_group, info.name, info.location) + return client.list() + + +def set(cmd, workspace_name, resource_group_name=None, location=None): + """ + Set the default Azure Quantum workspace. + """ + client = cf_workspaces(cmd.cli_ctx) + info = WorkspaceInfo(cmd, resource_group_name, workspace_name, location) + ws = client.get(info.resource_group, info.name) + if ws: + info.save(cmd) + return ws + + +def clear(cmd): + """ + Clear the default Azure Quantum workspace. + """ + info = WorkspaceInfo(cmd) + info.clear() + info.save(cmd) diff --git a/src/quantum/azext_quantum/tests/__init__.py b/src/quantum/azext_quantum/tests/__init__.py new file mode 100644 index 00000000000..721049fe1af --- /dev/null +++ b/src/quantum/azext_quantum/tests/__init__.py @@ -0,0 +1,9 @@ +# ----------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# ----------------------------------------------------------------------------- + +# To run these tests from the command line: +# az account set -s 677fc922-91d0-4bf6-9b06-4274d319a0fa +# azdev test quantum --live diff --git a/src/quantum/azext_quantum/tests/latest/__init__.py b/src/quantum/azext_quantum/tests/latest/__init__.py new file mode 100644 index 00000000000..721049fe1af --- /dev/null +++ b/src/quantum/azext_quantum/tests/latest/__init__.py @@ -0,0 +1,9 @@ +# ----------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# ----------------------------------------------------------------------------- + +# To run these tests from the command line: +# az account set -s 677fc922-91d0-4bf6-9b06-4274d319a0fa +# azdev test quantum --live diff --git a/src/quantum/azext_quantum/tests/latest/recordings/test_jobs.yaml b/src/quantum/azext_quantum/tests/latest/recordings/test_jobs.yaml new file mode 100644 index 00000000000..c1aabf68cc2 --- /dev/null +++ b/src/quantum/azext_quantum/tests/latest/recordings/test_jobs.yaml @@ -0,0 +1,98 @@ +interactions: +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - quantum workspace set + Connection: + - keep-alive + ParameterSetName: + - -w -g -l + User-Agent: + - python/3.8.2 (Windows-10-10.0.19041-SP0) msrest/0.6.18 msrest_azure/0.6.3 + quantummanagementclient/2019-11-04-preview Azure-SDK-For-Python AZURECLI/2.18.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testalias-e2e-tests-canary-rg/providers/Microsoft.Quantum/workspaces/e2e-tests-workspace-ionq?api-version=2019-11-04-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testalias-e2e-tests-canary-rg/providers/microsoft.quantum/workspaces/e2e-tests-workspace-ionq","name":"e2e-tests-workspace-ionq","type":"microsoft.quantum/workspaces","location":"East + US 2 EUAP","properties":{"providers":[{"providerId":"ionq","providerSku":"ionq-standard","applicationName":"e2e-tests-workspace-ionq-ionq","provisioningState":"Succeeded"}],"usable":"Yes","provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '479' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 29 Jan 2021 17:44:48 GMT + etag: + - '"07009043-0000-3300-0000-5fa7d2e40000"' + expires: + - '-1' + pragma: + - no-cache + server: + - Kestrel + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - python/3.8.2 (Windows-10-10.0.19041-SP0) msrest/0.6.18 msrest_azure/0.6.3 + quantumclient/2019-11-04-preview Azure-SDK-For-Python + accept-language: + - en-US + method: GET + uri: https://eastus2euap.quantum.azure.com/v1.0/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testalias-e2e-tests-canary-rg/providers/Microsoft.Quantum/workspaces/e2e-tests-workspace-ionq/providerStatus + response: + body: + string: '{"value":[{"id":"ionq","currentAvailability":"Available","targets":[{"id":"ionq.qpu","currentAvailability":"Available","averageQueueTime":140,"statusPage":"https://status.ionq.co"},{"id":"ionq.simulator","currentAvailability":"Available","averageQueueTime":0,"statusPage":"https://status.ionq.co"}]}],"nextLink":null}' + headers: + content-length: + - '317' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 29 Jan 2021 17:44:52 GMT + request-context: + - appId=cid-v1:4d6ac272-7369-45c6-9036-63d733c8519f + server: + - Microsoft-IIS/10.0 + set-cookie: + - ARRAffinity=a80c7c3a42bc29f88c9055a7e2789984b224746994993027ab866c65455cca24;Path=/;HttpOnly;Secure;Domain=eastus2euap.quantum.azure.com + - ARRAffinitySameSite=a80c7c3a42bc29f88c9055a7e2789984b224746994993027ab866c65455cca24;Path=/;HttpOnly;SameSite=None;Secure;Domain=eastus2euap.quantum.azure.com + strict-transport-security: + - max-age=2592000 + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +version: 1 diff --git a/src/quantum/azext_quantum/tests/latest/recordings/test_targets.yaml b/src/quantum/azext_quantum/tests/latest/recordings/test_targets.yaml new file mode 100644 index 00000000000..e14bcd618cf --- /dev/null +++ b/src/quantum/azext_quantum/tests/latest/recordings/test_targets.yaml @@ -0,0 +1,97 @@ +interactions: +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - quantum workspace set + Connection: + - keep-alive + ParameterSetName: + - -g -w -l + User-Agent: + - python/3.8.2 (Windows-10-10.0.19041-SP0) msrest/0.6.18 msrest_azure/0.6.3 + quantummanagementclient/2019-11-04-preview Azure-SDK-For-Python AZURECLI/2.18.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Quantum/workspaces/validator-qio-parallel-tempering-cpu-eastus2euap?api-version=2019-11-04-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/microsoft.quantum/workspaces/validator-qio-parallel-tempering-cpu-eastus2euap","name":"validator-qio-parallel-tempering-cpu-eastus2euap","type":"microsoft.quantum/workspaces","location":"eastus2euap","properties":{"providers":[{"providerId":"Microsoft","providerSku":"Basic","applicationName":"validator-qio-parallel-tempering-cpu-eastus2euap-Microsoft","provisioningState":"Succeeded"}],"provisioningState":"Succeeded","usable":"Yes"}}' + headers: + cache-control: + - no-cache + content-length: + - '544' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 29 Jan 2021 17:44:49 GMT + etag: + - '"0200b0aa-0000-3400-0000-5fd8fcfb0000"' + expires: + - '-1' + pragma: + - no-cache + server: + - Kestrel + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - python/3.8.2 (Windows-10-10.0.19041-SP0) msrest/0.6.18 msrest_azure/0.6.3 + quantumclient/2019-11-04-preview Azure-SDK-For-Python + accept-language: + - en-US + method: GET + uri: https://eastus2euap.quantum.azure.com/v1.0/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Quantum/workspaces/validator-qio-parallel-tempering-cpu-eastus2euap/providerStatus + response: + body: + string: '{"value":[{"id":"Microsoft","currentAvailability":"Available","targets":[{"id":"microsoft.paralleltempering-parameterfree.cpu","currentAvailability":"Available","averageQueueTime":0,"statusPage":null},{"id":"microsoft.paralleltempering.cpu","currentAvailability":"Available","averageQueueTime":0,"statusPage":null},{"id":"microsoft.simulatedannealing-parameterfree.cpu","currentAvailability":"Available","averageQueueTime":0,"statusPage":null},{"id":"microsoft.simulatedannealing.cpu","currentAvailability":"Available","averageQueueTime":0,"statusPage":null},{"id":"microsoft.tabu-parameterfree.cpu","currentAvailability":"Available","averageQueueTime":0,"statusPage":null},{"id":"microsoft.tabu.cpu","currentAvailability":"Available","averageQueueTime":0,"statusPage":null},{"id":"microsoft.simulatedannealing-parameterfree.fpga","currentAvailability":"Available","averageQueueTime":0,"statusPage":null},{"id":"microsoft.simulatedannealing.fpga","currentAvailability":"Available","averageQueueTime":0,"statusPage":null},{"id":"microsoft.chemistry.all","currentAvailability":"Available","averageQueueTime":0,"statusPage":null},{"id":"microsoft.qmc.cpu","currentAvailability":"Available","averageQueueTime":0,"statusPage":null}]}],"nextLink":null}' + headers: + content-length: + - '1246' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 29 Jan 2021 17:44:52 GMT + request-context: + - appId=cid-v1:4d6ac272-7369-45c6-9036-63d733c8519f + server: + - Microsoft-IIS/10.0 + set-cookie: + - ARRAffinity=a80c7c3a42bc29f88c9055a7e2789984b224746994993027ab866c65455cca24;Path=/;HttpOnly;Secure;Domain=eastus2euap.quantum.azure.com + - ARRAffinitySameSite=a80c7c3a42bc29f88c9055a7e2789984b224746994993027ab866c65455cca24;Path=/;HttpOnly;SameSite=None;Secure;Domain=eastus2euap.quantum.azure.com + strict-transport-security: + - max-age=2592000 + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +version: 1 diff --git a/src/quantum/azext_quantum/tests/latest/recordings/test_workspace.yaml b/src/quantum/azext_quantum/tests/latest/recordings/test_workspace.yaml new file mode 100644 index 00000000000..5b9e01ad16c --- /dev/null +++ b/src/quantum/azext_quantum/tests/latest/recordings/test_workspace.yaml @@ -0,0 +1,383 @@ +interactions: +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - quantum workspace list + Connection: + - keep-alive + ParameterSetName: + - -l -o + User-Agent: + - python/3.8.2 (Windows-10-10.0.19041-SP0) msrest/0.6.18 msrest_azure/0.6.3 + azure-mgmt-resource/12.0.0 Azure-SDK-For-Python AZURECLI/2.18.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resources?$filter=location%20eq%20%27westus%27%20and%20resourceType%20eq%20%27Microsoft.Quantum%2FWorkspaces%27&$expand=createdTime%2CchangedTime%2CprovisioningState&api-version=2020-10-01 + response: + body: + string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/alchocro-test-001/providers/Microsoft.Quantum/Workspaces/test-workspace-001","name":"test-workspace-001","type":"Microsoft.Quantum/Workspaces","location":"westus","createdTime":"2020-03-19T20:40:40.9074747Z","changedTime":"2020-03-19T20:51:02.1112482Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/anpaz-privpreview/providers/Microsoft.Quantum/Workspaces/anpaz-privpreview","name":"anpaz-privpreview","type":"Microsoft.Quantum/Workspaces","location":"westus","createdTime":"2020-03-19T20:35:39.2656094Z","changedTime":"2020-05-29T18:36:12.3334808Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/microsoft.quantum/Workspaces/a0ca7503-52e7-4b72-9a6c-f20c6b588b89","name":"a0ca7503-52e7-4b72-9a6c-f20c6b588b89","type":"microsoft.quantum/Workspaces","location":"westus","createdTime":"2020-12-02T11:14:36.357492Z","changedTime":"2021-01-29T01:26:46.7988215Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/microsoft.quantum/Workspaces/a483870c-669d-4d26-85aa-1749184928a1","name":"a483870c-669d-4d26-85aa-1749184928a1","type":"microsoft.quantum/Workspaces","location":"westus","createdTime":"2020-12-08T11:44:28.5928054Z","changedTime":"2020-12-08T15:54:29.9329915Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/microsoft.quantum/Workspaces/a819952b-d66e-4300-93e0-ef2819ff6a4a","name":"a819952b-d66e-4300-93e0-ef2819ff6a4a","type":"microsoft.quantum/Workspaces","location":"westus","createdTime":"2020-11-19T00:42:25.5681274Z","changedTime":"2020-11-19T04:52:27.3144452Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/microsoft.quantum/Workspaces/a8a0a410-28e6-4853-9efd-474f2ff3cbc5","name":"a8a0a410-28e6-4853-9efd-474f2ff3cbc5","type":"microsoft.quantum/Workspaces","location":"westus","createdTime":"2020-11-21T06:14:24.3757788Z","changedTime":"2020-11-21T10:24:27.096252Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/microsoft.quantum/Workspaces/a9f07b06-000c-44ef-8978-e02726909451","name":"a9f07b06-000c-44ef-8978-e02726909451","type":"microsoft.quantum/Workspaces","location":"westus","createdTime":"2020-12-06T06:20:11.3951581Z","changedTime":"2020-12-06T11:30:13.5907122Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/microsoft.quantum/Workspaces/ab806e49-33ad-44ae-9d93-cff516e03d35","name":"ab806e49-33ad-44ae-9d93-cff516e03d35","type":"microsoft.quantum/Workspaces","location":"westus","createdTime":"2020-11-19T19:12:27.3948018Z","changedTime":"2020-11-19T23:22:29.8937131Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/microsoft.quantum/Workspaces/abb12f7b-0c47-4f12-9a55-ea9d569ee335","name":"abb12f7b-0c47-4f12-9a55-ea9d569ee335","type":"microsoft.quantum/Workspaces","location":"westus","createdTime":"2020-11-19T00:23:59.8169271Z","changedTime":"2020-11-19T04:34:01.5911073Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/microsoft.quantum/Workspaces/abb3bcf8-a5c9-4165-a214-3373807def3e","name":"abb3bcf8-a5c9-4165-a214-3373807def3e","type":"microsoft.quantum/Workspaces","location":"westus","createdTime":"2020-11-21T23:34:44.0283219Z","changedTime":"2020-11-22T03:44:47.240863Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/microsoft.quantum/Workspaces/ad251a78-5849-4242-adb8-aed242f2899e","name":"ad251a78-5849-4242-adb8-aed242f2899e","type":"microsoft.quantum/Workspaces","location":"westus","createdTime":"2020-12-02T23:32:08.7079373Z","changedTime":"2020-12-03T03:42:14.4216627Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/microsoft.quantum/Workspaces/ad4c99b3-17b6-44f7-887b-b82feae5d572","name":"ad4c99b3-17b6-44f7-887b-b82feae5d572","type":"microsoft.quantum/Workspaces","location":"westus","createdTime":"2020-12-06T00:13:49.0246144Z","changedTime":"2020-12-06T04:23:50.9864457Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/microsoft.quantum/Workspaces/ad9b04ea-2524-4f24-9ef2-95fde0ffee38","name":"ad9b04ea-2524-4f24-9ef2-95fde0ffee38","type":"microsoft.quantum/Workspaces","location":"westus","createdTime":"2020-11-18T23:37:53.7829675Z","changedTime":"2020-11-19T04:49:32.3743713Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/microsoft.quantum/Workspaces/adf748b0-a9a8-4549-9df9-f06779233644","name":"adf748b0-a9a8-4549-9df9-f06779233644","type":"microsoft.quantum/Workspaces","location":"westus","createdTime":"2020-11-22T21:54:31.5612443Z","changedTime":"2020-11-23T02:04:33.8375652Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/microsoft.quantum/Workspaces/af7571a5-76d6-4c3a-96d2-7e2cf9dfdff6","name":"af7571a5-76d6-4c3a-96d2-7e2cf9dfdff6","type":"microsoft.quantum/Workspaces","location":"westus","createdTime":"2020-11-19T00:00:31.696844Z","changedTime":"2020-11-19T04:10:34.5983666Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/microsoft.quantum/Workspaces/b0bc8e61-4b08-48c4-b4c6-b2ba323ec9a1","name":"b0bc8e61-4b08-48c4-b4c6-b2ba323ec9a1","type":"microsoft.quantum/Workspaces","location":"westus","createdTime":"2020-11-18T22:53:34.6378661Z","changedTime":"2020-11-19T03:03:36.1308906Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/microsoft.quantum/Workspaces/b133855d-bea0-457b-b23a-6f61067e00b6","name":"b133855d-bea0-457b-b23a-6f61067e00b6","type":"microsoft.quantum/Workspaces","location":"westus","createdTime":"2020-12-07T16:55:22.6298727Z","changedTime":"2020-12-07T21:05:24.7559707Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/microsoft.quantum/Workspaces/b1a50afd-8ad7-4731-b63f-8c2001ae28f1","name":"b1a50afd-8ad7-4731-b63f-8c2001ae28f1","type":"microsoft.quantum/Workspaces","location":"westus","createdTime":"2020-11-21T03:17:01.2469328Z","changedTime":"2020-11-21T07:27:04.3701785Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/microsoft.quantum/Workspaces/b37dabb3-4efd-4831-8ad0-f97622b8b78f","name":"b37dabb3-4efd-4831-8ad0-f97622b8b78f","type":"microsoft.quantum/Workspaces","location":"westus","createdTime":"2020-11-18T23:24:46.5743222Z","changedTime":"2020-11-19T03:34:48.0457112Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/microsoft.quantum/Workspaces/b4c86317-739c-4eee-bc17-e5fd80075e98","name":"b4c86317-739c-4eee-bc17-e5fd80075e98","type":"microsoft.quantum/Workspaces","location":"westus","createdTime":"2020-12-02T01:42:28.1804397Z","changedTime":"2020-12-02T06:52:30.0270925Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/microsoft.quantum/Workspaces/b60b6e66-b96d-4229-ae09-ff5519a59101","name":"b60b6e66-b96d-4229-ae09-ff5519a59101","type":"microsoft.quantum/Workspaces","location":"westus","createdTime":"2020-11-21T09:17:58.0427486Z","changedTime":"2020-11-21T13:28:00.7338421Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/microsoft.quantum/Workspaces/b95fe7e1-216d-4525-bb82-3f88df5a2f8f","name":"b95fe7e1-216d-4525-bb82-3f88df5a2f8f","type":"microsoft.quantum/Workspaces","location":"westus","createdTime":"2020-11-19T21:34:35.6849568Z","changedTime":"2020-11-20T01:44:37.3175706Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/microsoft.quantum/Workspaces/bb44deb8-8548-4599-b5c6-c43e2e3cd790","name":"bb44deb8-8548-4599-b5c6-c43e2e3cd790","type":"microsoft.quantum/Workspaces","location":"westus","createdTime":"2020-11-21T05:26:34.9431076Z","changedTime":"2020-11-21T09:36:37.2937877Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/microsoft.quantum/Workspaces/bb746c4d-007e-49e0-b340-61647679cc24","name":"bb746c4d-007e-49e0-b340-61647679cc24","type":"microsoft.quantum/Workspaces","location":"westus","createdTime":"2020-11-18T22:29:20.5140588Z","changedTime":"2020-11-19T02:39:24.0877497Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/microsoft.quantum/Workspaces/c1151961-4abb-41f3-bff5-3e3b81d5b440","name":"c1151961-4abb-41f3-bff5-3e3b81d5b440","type":"microsoft.quantum/Workspaces","location":"westus","createdTime":"2020-12-02T10:45:17.6267314Z","changedTime":"2020-12-02T14:55:20.9268221Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/microsoft.quantum/Workspaces/c19aa8f5-bdf6-4845-879d-e4d7fa24bdae","name":"c19aa8f5-bdf6-4845-879d-e4d7fa24bdae","type":"microsoft.quantum/Workspaces","location":"westus","createdTime":"2020-11-22T08:35:45.0327657Z","changedTime":"2020-11-22T12:45:46.7263362Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/microsoft.quantum/Workspaces/c2675ec3-96f2-4740-b0bf-2d2db5b31153","name":"c2675ec3-96f2-4740-b0bf-2d2db5b31153","type":"microsoft.quantum/Workspaces","location":"westus","createdTime":"2020-11-21T06:14:25.2063062Z","changedTime":"2020-11-21T10:24:27.9424305Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/microsoft.quantum/Workspaces/c3bbe676-b4fd-4259-bd07-e3678a7bc29f","name":"c3bbe676-b4fd-4259-bd07-e3678a7bc29f","type":"microsoft.quantum/Workspaces","location":"westus","createdTime":"2020-11-21T02:36:50.6635511Z","changedTime":"2020-11-21T06:46:53.9001781Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/microsoft.quantum/Workspaces/c613939c-08d9-4148-b4f8-819cfd1dff62","name":"c613939c-08d9-4148-b4f8-819cfd1dff62","type":"microsoft.quantum/Workspaces","location":"westus","createdTime":"2020-11-22T08:24:39.4643815Z","changedTime":"2020-11-22T13:34:43.6055169Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/microsoft.quantum/Workspaces/c8935a37-be15-43d6-abef-a207c1e924cc","name":"c8935a37-be15-43d6-abef-a207c1e924cc","type":"microsoft.quantum/Workspaces","location":"westus","createdTime":"2020-11-18T23:46:26.4163274Z","changedTime":"2020-11-19T03:56:30.3796767Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/microsoft.quantum/Workspaces/c89b9327-f01f-4ce2-bcfa-0fe52e66412d","name":"c89b9327-f01f-4ce2-bcfa-0fe52e66412d","type":"microsoft.quantum/Workspaces","location":"westus","createdTime":"2020-12-06T00:48:40.3997555Z","changedTime":"2020-12-06T04:58:42.0758969Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/microsoft.quantum/Workspaces/c90369a2-e2b3-4591-8c54-ffc4b1bd8395","name":"c90369a2-e2b3-4591-8c54-ffc4b1bd8395","type":"microsoft.quantum/Workspaces","location":"westus","createdTime":"2020-11-21T03:27:47.7655249Z","changedTime":"2020-11-21T08:37:49.954868Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/microsoft.quantum/Workspaces/df9526cb-41ed-4301-a67c-f11b7d7eb5f3","name":"df9526cb-41ed-4301-a67c-f11b7d7eb5f3","type":"microsoft.quantum/Workspaces","location":"westus","createdTime":"2020-11-20T00:36:34.0734056Z","changedTime":"2020-11-20T05:46:36.2576072Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/microsoft.quantum/Workspaces/e07b59e6-3ad8-4dd0-96c1-2c27d64efec1","name":"e07b59e6-3ad8-4dd0-96c1-2c27d64efec1","type":"microsoft.quantum/Workspaces","location":"westus","createdTime":"2020-11-21T08:54:46.0849373Z","changedTime":"2020-11-21T13:04:49.9946275Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/microsoft.quantum/Workspaces/e216e9ce-b86b-4677-b873-988a2e28e684","name":"e216e9ce-b86b-4677-b873-988a2e28e684","type":"microsoft.quantum/Workspaces","location":"westus","createdTime":"2020-12-05T21:28:10.3078868Z","changedTime":"2020-12-06T01:38:13.1078183Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/microsoft.quantum/Workspaces/e24add65-975d-48b6-8fcf-2a5dbc777b59","name":"e24add65-975d-48b6-8fcf-2a5dbc777b59","type":"microsoft.quantum/Workspaces","location":"westus","createdTime":"2020-11-21T09:17:58.9167447Z","changedTime":"2020-11-21T13:28:01.9421566Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/microsoft.quantum/Workspaces/e4ca5d11-0bc1-4b0f-a940-9b0a98b3069b","name":"e4ca5d11-0bc1-4b0f-a940-9b0a98b3069b","type":"microsoft.quantum/Workspaces","location":"westus","createdTime":"2020-12-06T12:53:51.6211648Z","changedTime":"2020-12-06T17:03:53.4539397Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/microsoft.quantum/Workspaces/e51d20fa-f46f-4f5b-a1d6-b3f720a8236c","name":"e51d20fa-f46f-4f5b-a1d6-b3f720a8236c","type":"microsoft.quantum/Workspaces","location":"westus","createdTime":"2020-11-18T23:25:19.5484707Z","changedTime":"2020-11-19T03:35:22.4703367Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/microsoft.quantum/Workspaces/e71c6d89-cbcd-42ee-89bd-9ead53531e0f","name":"e71c6d89-cbcd-42ee-89bd-9ead53531e0f","type":"microsoft.quantum/Workspaces","location":"westus","createdTime":"2020-11-18T23:49:36.7767196Z","changedTime":"2020-11-19T03:59:39.8853333Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/microsoft.quantum/Workspaces/eb92d115-a5a8-4f9c-aa98-90b62cc0ffb6","name":"eb92d115-a5a8-4f9c-aa98-90b62cc0ffb6","type":"microsoft.quantum/Workspaces","location":"westus","createdTime":"2020-12-05T21:28:40.4355274Z","changedTime":"2020-12-06T01:38:43.6506674Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/microsoft.quantum/Workspaces/ec0fdc47-231d-4373-a719-58d8e564f2cd","name":"ec0fdc47-231d-4373-a719-58d8e564f2cd","type":"microsoft.quantum/Workspaces","location":"westus","createdTime":"2020-12-07T11:03:27.2075924Z","changedTime":"2020-12-07T15:13:28.6564662Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/microsoft.quantum/Workspaces/ec70a4d5-5d45-4d84-9c94-0c8ec195c7db","name":"ec70a4d5-5d45-4d84-9c94-0c8ec195c7db","type":"microsoft.quantum/Workspaces","location":"westus","createdTime":"2020-12-05T21:37:48.6351407Z","changedTime":"2020-12-06T01:47:51.366864Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/microsoft.quantum/Workspaces/ecce524f-e0f6-40ab-9c4c-10f3fa119f2f","name":"ecce524f-e0f6-40ab-9c4c-10f3fa119f2f","type":"microsoft.quantum/Workspaces","location":"westus","createdTime":"2020-11-18T22:53:40.1494691Z","changedTime":"2020-11-19T03:03:42.2019555Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/microsoft.quantum/Workspaces/ee6fe185-cff0-4c7b-a8c2-2942d0728a70","name":"ee6fe185-cff0-4c7b-a8c2-2942d0728a70","type":"microsoft.quantum/Workspaces","location":"westus","createdTime":"2020-11-25T17:58:42.4482863Z","changedTime":"2020-11-25T22:09:04.6299385Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/microsoft.quantum/Workspaces/f339d291-b8d8-42bb-94b1-5a949cfab182","name":"f339d291-b8d8-42bb-94b1-5a949cfab182","type":"microsoft.quantum/Workspaces","location":"westus","createdTime":"2020-11-18T23:14:06.8651812Z","changedTime":"2020-11-19T03:24:10.3187381Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/microsoft.quantum/Workspaces/f8ac50da-7c19-4f14-b109-31b02fa41a3f","name":"f8ac50da-7c19-4f14-b109-31b02fa41a3f","type":"microsoft.quantum/Workspaces","location":"westus","createdTime":"2020-12-06T03:33:18.6569865Z","changedTime":"2020-12-06T07:43:20.5825524Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/microsoft.quantum/Workspaces/f8cd0a4d-251b-4270-85ab-07fd6f4e5710","name":"f8cd0a4d-251b-4270-85ab-07fd6f4e5710","type":"microsoft.quantum/Workspaces","location":"westus","createdTime":"2020-12-06T01:55:48.1955443Z","changedTime":"2020-12-06T06:05:51.4057718Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/microsoft.quantum/Workspaces/f94fd145-94b0-4215-9c7c-87ea529fc403","name":"f94fd145-94b0-4215-9c7c-87ea529fc403","type":"microsoft.quantum/Workspaces","location":"westus","createdTime":"2020-11-19T00:08:08.0091068Z","changedTime":"2020-11-19T04:18:09.9291105Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/microsoft.quantum/Workspaces/fa4be2ce-1acf-47e2-939c-e03ca65881a3","name":"fa4be2ce-1acf-47e2-939c-e03ca65881a3","type":"microsoft.quantum/Workspaces","location":"westus","createdTime":"2020-11-25T07:13:51.4797491Z","changedTime":"2020-11-25T11:23:53.2894075Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/microsoft.quantum/Workspaces/fe10487e-d6eb-4083-969b-41e91f49be3a","name":"fe10487e-d6eb-4083-969b-41e91f49be3a","type":"microsoft.quantum/Workspaces","location":"westus","createdTime":"2020-11-22T20:19:27.5873629Z","changedTime":"2020-11-23T00:29:29.5279758Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/microsoft.quantum/Workspaces/ff4b5128-822b-4f12-ae4c-a718fe9690f5","name":"ff4b5128-822b-4f12-ae4c-a718fe9690f5","type":"microsoft.quantum/Workspaces","location":"westus","createdTime":"2020-11-21T06:14:26.2684187Z","changedTime":"2020-11-21T10:24:28.3347828Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Quantum/Workspaces/prod02ec155b-3703-4db5-9b6b-29bc1d03c542","name":"prod02ec155b-3703-4db5-9b6b-29bc1d03c542","type":"Microsoft.Quantum/Workspaces","location":"westus","identity":{"principalId":"bc3451e0-aa21-4850-89eb-bb174257c824","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-29T17:40:01.8737412Z","changedTime":"2021-01-29T17:40:41.5803042Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Quantum/Workspaces/prod0c17213f-303d-4427-91a0-fd13ed5628c7","name":"prod0c17213f-303d-4427-91a0-fd13ed5628c7","type":"Microsoft.Quantum/Workspaces","location":"westus","identity":{"principalId":"251e49d0-3264-4f73-805e-2b78d25ee5d7","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-29T17:39:41.3590903Z","changedTime":"2021-01-29T17:40:05.0051989Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Quantum/Workspaces/prod381189de-b707-4ee4-9a64-260b6db15dd9","name":"prod381189de-b707-4ee4-9a64-260b6db15dd9","type":"Microsoft.Quantum/Workspaces","location":"westus","identity":{"principalId":"c74ade67-7dc1-44ce-8b27-03b9e2c76272","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-28T21:36:37.8093324Z","changedTime":"2021-01-29T01:46:41.181701Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/microsoft.quantum/Workspaces/testworkspace","name":"testworkspace","type":"microsoft.quantum/Workspaces","location":"westus","createdTime":"2020-04-03T20:01:33.0760938Z","changedTime":"2020-04-03T20:11:37.1050748Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Quantum/Workspaces/validator-qio-initconfig-westus11988f34-50c9-4e88-8090-c09461aec85b","name":"validator-qio-initconfig-westus11988f34-50c9-4e88-8090-c09461aec85b","type":"Microsoft.Quantum/Workspaces","location":"westus","identity":{"principalId":"58ba40d2-53f4-4990-a325-6f523b51d0d2","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-25T09:06:59.9841643Z","changedTime":"2021-01-25T13:17:05.7790399Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Quantum/Workspaces/validator-qio-initconfig-westus5414c5ac-e29b-4024-8ccf-2304fba1af6a","name":"validator-qio-initconfig-westus5414c5ac-e29b-4024-8ccf-2304fba1af6a","type":"Microsoft.Quantum/Workspaces","location":"westus","identity":{"principalId":"34f73ecd-f9b1-41c1-86ef-54abe6799c40","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-28T18:51:19.5475016Z","changedTime":"2021-01-28T23:01:26.3652992Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/microsoft.quantum/Workspaces/validator-qio-initconfig-westuscef264df-53f3-4d19-b071-0166333a2ea8","name":"validator-qio-initconfig-westuscef264df-53f3-4d19-b071-0166333a2ea8","type":"microsoft.quantum/Workspaces","location":"westus","createdTime":"2021-01-22T23:58:13.9685716Z","changedTime":"2021-01-23T04:08:15.9914897Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/microsoft.quantum/Workspaces/validator-qio-parallel-tempering-cpu-westusb7414fde-2fca-42b5-b0d4-65f879903a43","name":"validator-qio-parallel-tempering-cpu-westusb7414fde-2fca-42b5-b0d4-65f879903a43","type":"microsoft.quantum/Workspaces","location":"westus","createdTime":"2021-01-22T23:58:13.9682428Z","changedTime":"2021-01-23T04:08:15.5520386Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/microsoft.quantum/Workspaces/validator-qio-parallel-tempering-cpu-westusca4734bc-b065-444f-8575-77d86d50f723","name":"validator-qio-parallel-tempering-cpu-westusca4734bc-b065-444f-8575-77d86d50f723","type":"microsoft.quantum/Workspaces","location":"westus","createdTime":"2020-12-15T00:05:08.8320177Z","changedTime":"2020-12-15T04:15:12.4812438Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Quantum/Workspaces/validator-qio-parallel-tempering-parameterfree-cpu-westus1be4d463-2c17-4242-8f71-db84c057990c","name":"validator-qio-parallel-tempering-parameterfree-cpu-westus1be4d463-2c17-4242-8f71-db84c057990c","type":"Microsoft.Quantum/Workspaces","location":"westus","identity":{"principalId":"af457cb9-0fd3-40b2-8a55-11e5b5a7e340","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-25T09:13:13.5719943Z","changedTime":"2021-01-25T13:23:17.113025Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Quantum/Workspaces/validator-qio-parallel-tempering-parameterfree-cpu-westus1c14c6f7-18f0-4df4-b90e-7fe4851e02ff","name":"validator-qio-parallel-tempering-parameterfree-cpu-westus1c14c6f7-18f0-4df4-b90e-7fe4851e02ff","type":"Microsoft.Quantum/Workspaces","location":"westus","identity":{"principalId":"76fac2ed-1f07-4aa8-b019-f6a8b59fd5f5","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-25T08:55:33.2551305Z","changedTime":"2021-01-25T13:05:37.9640586Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Quantum/Workspaces/validator-qio-parallel-tempering-parameterfree-cpu-westus2320f9ec-d1f5-4074-8c80-53c578006325","name":"validator-qio-parallel-tempering-parameterfree-cpu-westus2320f9ec-d1f5-4074-8c80-53c578006325","type":"Microsoft.Quantum/Workspaces","location":"westus","identity":{"principalId":"d7e0dd72-7df5-4255-9e27-6dc774280c26","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-25T09:06:10.4734786Z","changedTime":"2021-01-25T13:16:17.5837092Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Quantum/Workspaces/validator-qio-parallel-tempering-parameterfree-cpu-westus234dd38e-ac54-4aa3-9180-ab498ec44efb","name":"validator-qio-parallel-tempering-parameterfree-cpu-westus234dd38e-ac54-4aa3-9180-ab498ec44efb","type":"Microsoft.Quantum/Workspaces","location":"westus","identity":{"principalId":"acee4789-1443-44f5-bb6f-54e86c5454f3","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-25T09:15:38.3493286Z","changedTime":"2021-01-25T13:25:46.8737719Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/microsoft.quantum/Workspaces/validator-qio-parallel-tempering-parameterfree-cpu-westus59c9309c-35a7-4f28-9c24-1cb876893a63","name":"validator-qio-parallel-tempering-parameterfree-cpu-westus59c9309c-35a7-4f28-9c24-1cb876893a63","type":"microsoft.quantum/Workspaces","location":"westus","createdTime":"2021-01-22T23:58:56.3211874Z","changedTime":"2021-01-23T04:08:59.998145Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Quantum/Workspaces/validator-qio-parallel-tempering-parameterfree-cpu-westus6489d9b9-50a6-4bcb-a559-091be5339e31","name":"validator-qio-parallel-tempering-parameterfree-cpu-westus6489d9b9-50a6-4bcb-a559-091be5339e31","type":"Microsoft.Quantum/Workspaces","location":"westus","identity":{"principalId":"a6ec8eb0-e7ab-412a-bf0e-9ca229a923bc","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-25T08:50:38.1264256Z","changedTime":"2021-01-25T13:00:43.4919704Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Quantum/Workspaces/validator-qio-parallel-tempering-parameterfree-cpu-westus6a557fe9-ece2-485b-abd3-588815f0547c","name":"validator-qio-parallel-tempering-parameterfree-cpu-westus6a557fe9-ece2-485b-abd3-588815f0547c","type":"Microsoft.Quantum/Workspaces","location":"westus","identity":{"principalId":"d87a137d-e496-4b9b-8448-99eab3940dfe","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-25T08:53:14.6742589Z","changedTime":"2021-01-25T13:03:17.513724Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Quantum/Workspaces/validator-qio-parallel-tempering-parameterfree-cpu-westus87a7caf0-6505-4532-8201-7cca7911c46a","name":"validator-qio-parallel-tempering-parameterfree-cpu-westus87a7caf0-6505-4532-8201-7cca7911c46a","type":"Microsoft.Quantum/Workspaces","location":"westus","identity":{"principalId":"72878b33-f1cc-4bd7-b0e8-07f9074ca199","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-25T09:10:43.5410026Z","changedTime":"2021-01-25T13:20:49.3261341Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Quantum/Workspaces/validator-qio-parallel-tempering-parameterfree-cpu-westusa821653d-0f36-465e-b151-2a977835640f","name":"validator-qio-parallel-tempering-parameterfree-cpu-westusa821653d-0f36-465e-b151-2a977835640f","type":"Microsoft.Quantum/Workspaces","location":"westus","identity":{"principalId":"2c812bf6-874e-4e80-8551-0137bfc94c88","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-25T09:08:06.8876993Z","changedTime":"2021-01-25T13:18:12.1240906Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Quantum/Workspaces/validator-qio-parallel-tempering-parameterfree-cpu-westusb9dd3840-dfcc-4adf-8858-406045cc6ab6","name":"validator-qio-parallel-tempering-parameterfree-cpu-westusb9dd3840-dfcc-4adf-8858-406045cc6ab6","type":"Microsoft.Quantum/Workspaces","location":"westus","identity":{"principalId":"6c7e3f9d-1624-4dfc-9b57-e853f64207e9","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-25T08:51:26.8660847Z","changedTime":"2021-01-25T13:01:33.9378907Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Quantum/Workspaces/validator-qio-parallel-tempering-parameterfree-cpu-westusbe4ae265-e141-4116-b974-16ebd0d486aa","name":"validator-qio-parallel-tempering-parameterfree-cpu-westusbe4ae265-e141-4116-b974-16ebd0d486aa","type":"Microsoft.Quantum/Workspaces","location":"westus","identity":{"principalId":"11cfb118-1466-4aac-819d-f6149b5e468b","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-25T09:18:46.0714753Z","changedTime":"2021-01-25T13:28:52.6288048Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Quantum/Workspaces/validator-qio-parallel-tempering-parameterfree-cpu-westusdc3ad10b-7a8e-45b6-9ba3-f73ba9e88dc3","name":"validator-qio-parallel-tempering-parameterfree-cpu-westusdc3ad10b-7a8e-45b6-9ba3-f73ba9e88dc3","type":"Microsoft.Quantum/Workspaces","location":"westus","identity":{"principalId":"7eff61f0-f8d2-45e9-96e2-09e02c064f69","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-25T08:58:03.5038924Z","changedTime":"2021-01-25T13:08:07.0410048Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Quantum/Workspaces/validator-qio-parallel-tempering-parameterfree-cpu-westusff7e10f2-6027-401c-bd76-40ded6918925","name":"validator-qio-parallel-tempering-parameterfree-cpu-westusff7e10f2-6027-401c-bd76-40ded6918925","type":"Microsoft.Quantum/Workspaces","location":"westus","identity":{"principalId":"cc2dd087-ca52-4065-bc63-6e498cdc5daf","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-25T09:20:44.6578709Z","changedTime":"2021-01-25T13:30:52.0258896Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Quantum/Workspaces/validator-qio-simulatedannealing-cpu-westus8d14d193-d682-4d74-b425-f6781cc447b1","name":"validator-qio-simulatedannealing-cpu-westus8d14d193-d682-4d74-b425-f6781cc447b1","type":"Microsoft.Quantum/Workspaces","location":"westus","identity":{"principalId":"212a5afa-fe7b-41c4-917c-b1adda3400be","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-25T08:53:40.7134191Z","changedTime":"2021-01-25T12:53:41.4228037Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Quantum/Workspaces/validator-qio-simulatedannealing-parameterfree-cpu-westuscfe7e8b1-dc5a-41f3-89fb-bd9db8324bb2","name":"validator-qio-simulatedannealing-parameterfree-cpu-westuscfe7e8b1-dc5a-41f3-89fb-bd9db8324bb2","type":"Microsoft.Quantum/Workspaces","location":"westus","identity":{"principalId":"3612761e-b711-49f4-8a6e-b2ccfed78453","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-25T08:35:33.4064542Z","changedTime":"2021-01-25T13:35:59.7801636Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/microsoft.quantum/Workspaces/validator-qio-simulatedannealing-parameterfree.cpu-westus65f84457-9049-444f-a3e7-bdb3c1e7a966","name":"validator-qio-simulatedannealing-parameterfree.cpu-westus65f84457-9049-444f-a3e7-bdb3c1e7a966","type":"microsoft.quantum/Workspaces","location":"westus","createdTime":"2020-12-22T12:18:57.0819426Z","changedTime":"2020-12-22T16:36:31.7465643Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/microsoft.quantum/Workspaces/validator-qio-tabu-cpu-westus7ceb0b6c-3ff4-4102-8a42-d46fd54e9fc0","name":"validator-qio-tabu-cpu-westus7ceb0b6c-3ff4-4102-8a42-d46fd54e9fc0","type":"microsoft.quantum/Workspaces","location":"westus","createdTime":"2021-01-04T21:47:30.3779577Z","changedTime":"2021-01-05T02:48:33.6574971Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Quantum/Workspaces/validator-qio-tabu-cpu-westus8eb7b5b8-aea2-48dc-ab4f-ed597ab3b81b","name":"validator-qio-tabu-cpu-westus8eb7b5b8-aea2-48dc-ab4f-ed597ab3b81b","type":"Microsoft.Quantum/Workspaces","location":"westus","identity":{"principalId":"e9d2288b-128c-4659-b933-99dd1ab32418","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-27T01:22:59.3735763Z","changedTime":"2021-01-27T05:33:05.7171422Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Quantum/Workspaces/validator-workspace-crdl-westus","name":"validator-workspace-crdl-westus","type":"Microsoft.Quantum/Workspaces","location":"westus","identity":{"principalId":"94a8471c-e477-431f-85d3-05ba089c5cad","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-29T04:09:51.4490225Z","changedTime":"2021-01-29T14:03:17.2513238Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Quantum/Workspaces/validator-workspace-westus","name":"validator-workspace-westus","type":"Microsoft.Quantum/Workspaces","location":"westus","identity":{"principalId":"dff3fbf8-5dc1-4f86-bf35-e4a19c9cc218","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-29T06:50:01.0145394Z","changedTime":"2021-01-29T11:00:03.874687Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Quantum/Workspaces/validator-workspace-westus-2","name":"validator-workspace-westus-2","type":"Microsoft.Quantum/Workspaces","location":"westus","identity":{"principalId":"fbd1b7da-4138-40cd-b74b-7e0b2aec0c61","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-29T06:20:10.2222895Z","changedTime":"2021-01-29T10:30:16.5747877Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Quantum/Workspaces/validator-workspace-westus-3","name":"validator-workspace-westus-3","type":"Microsoft.Quantum/Workspaces","location":"westus","identity":{"principalId":"32242439-4fce-4923-bc2a-d3f0a60f334e","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-29T06:20:53.3074778Z","changedTime":"2021-01-29T10:30:58.2767178Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-test/providers/Microsoft.Quantum/Workspaces/demo","name":"demo","type":"Microsoft.Quantum/Workspaces","location":"westus","createdTime":"2020-05-05T17:28:29.5939264Z","changedTime":"2020-05-05T17:38:31.1167751Z","provisioningState":"Succeeded","tags":{}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-test/providers/Microsoft.Quantum/Workspaces/test-yinshen","name":"test-yinshen","type":"Microsoft.Quantum/Workspaces","location":"westus","createdTime":"2020-05-05T03:51:59.1516552Z","changedTime":"2020-05-20T21:41:00.7845506Z","provisioningState":"Succeeded","tags":{}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/ashwinm-test-private-preview/providers/Microsoft.Quantum/Workspaces/aq-private-preview-test","name":"aq-private-preview-test","type":"Microsoft.Quantum/Workspaces","location":"westus","createdTime":"2020-03-16T22:04:24.0804946Z","changedTime":"2020-03-16T22:14:25.1341685Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/ashwinm-test-private-preview/providers/Microsoft.Quantum/Workspaces/aq-private-preview-test-01","name":"aq-private-preview-test-01","type":"Microsoft.Quantum/Workspaces","location":"westus","createdTime":"2020-05-20T01:13:35.440609Z","changedTime":"2020-09-10T23:10:37.7043418Z","provisioningState":"Succeeded","tags":{}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/ashwinm-test-private-preview/providers/Microsoft.Quantum/Workspaces/aq-private-preview-test-02","name":"aq-private-preview-test-02","type":"Microsoft.Quantum/Workspaces","location":"westus","identity":{"principalId":"46e0805f-e31f-4e85-847f-d13a6635fa11","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-25T19:18:23.0582626Z","changedTime":"2021-01-25T23:28:27.0409898Z","provisioningState":"Succeeded","tags":{}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/e2e-test-rg/providers/Microsoft.Quantum/Workspaces/e2e-browse-test","name":"e2e-browse-test","type":"Microsoft.Quantum/Workspaces","location":"westus","identity":{"principalId":"24b95fbd-1937-45ce-831d-49c43dbca3c3","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2020-10-16T22:38:04.5503497Z","changedTime":"2020-10-17T02:48:06.7367182Z","provisioningState":"Succeeded","tags":{}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/e2e-test-rg/providers/Microsoft.Quantum/Workspaces/e2e-create-test","name":"e2e-create-test","type":"Microsoft.Quantum/Workspaces","location":"westus","identity":{"principalId":"acf06cc1-90cf-4a4e-96ea-0e81a78b31b8","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2020-10-16T21:46:25.6270369Z","changedTime":"2020-12-11T01:27:21.9528657Z","provisioningState":"Succeeded","tags":{}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/etperr-test/providers/Microsoft.Quantum/Workspaces/etperr-test","name":"etperr-test","type":"Microsoft.Quantum/Workspaces","location":"westus","createdTime":"2020-05-28T17:40:04.6504296Z","changedTime":"2020-06-25T22:05:20.8555311Z","provisioningState":"Succeeded","tags":{}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/georgenm-test/providers/Microsoft.Quantum/Workspaces/contoso-westus1","name":"contoso-westus1","type":"Microsoft.Quantum/Workspaces","location":"westus","createdTime":"2020-06-16T18:12:46.1199949Z","changedTime":"2020-06-16T22:23:17.8476353Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/georgenm-test/providers/Microsoft.Quantum/Workspaces/Demotest","name":"Demotest","type":"Microsoft.Quantum/Workspaces","location":"westus","identity":{"principalId":"1a7d82ef-ddad-4188-a324-55357a97a746","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2020-12-14T02:43:01.2839634Z","changedTime":"2020-12-14T07:53:23.8203377Z","provisioningState":"Succeeded","tags":{}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/georgenm-test/providers/Microsoft.Quantum/Workspaces/honeywell1","name":"honeywell1","type":"Microsoft.Quantum/Workspaces","location":"westus","identity":{"principalId":"2d4a5e76-2937-4061-83fc-7d969954a3a2","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2020-09-21T19:05:23.328088Z","changedTime":"2020-09-21T23:15:29.7759422Z","provisioningState":"Succeeded","tags":{}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/georgenm-test/providers/Microsoft.Quantum/Workspaces/ionq1","name":"ionq1","type":"Microsoft.Quantum/Workspaces","location":"westus","identity":{"principalId":"6102d9a8-0e72-4da2-a27d-a652d3c2e5e8","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2020-09-21T19:11:00.0635813Z","changedTime":"2020-09-21T23:21:05.0072241Z","provisioningState":"Succeeded","tags":{}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/georgenm-test/providers/Microsoft.Quantum/Workspaces/microsoft-westus1","name":"microsoft-westus1","type":"Microsoft.Quantum/Workspaces","location":"westus","createdTime":"2020-06-16T18:20:01.280349Z","changedTime":"2020-06-16T22:30:26.0971053Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/georgenm-test/providers/Microsoft.Quantum/Workspaces/testworkspace","name":"testworkspace","type":"Microsoft.Quantum/Workspaces","location":"westus","identity":{"principalId":"fe78f511-aa67-4408-8ee5-8a681d838e64","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2020-10-30T17:46:02.7517564Z","changedTime":"2020-10-30T21:56:06.51548Z","provisioningState":"Succeeded","tags":{}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/georgenm-test/providers/Microsoft.Quantum/Workspaces/testworkspace2","name":"testworkspace2","type":"Microsoft.Quantum/Workspaces","location":"westus","identity":{"principalId":"4a6aa964-3782-44e2-b91a-14ddf8c1c009","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2020-10-30T17:52:23.1697444Z","changedTime":"2020-10-30T22:02:27.1066705Z","provisioningState":"Succeeded","tags":{}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/hay-deletetest/providers/Microsoft.Quantum/Workspaces/proddelete","name":"proddelete","type":"Microsoft.Quantum/Workspaces","location":"westus","createdTime":"2020-05-28T17:29:19.3030796Z","changedTime":"2020-05-28T17:39:35.9521659Z","provisioningState":"Succeeded","tags":{"department":"MightyMight","company":"Contoso"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/hay-deletetest/providers/Microsoft.Quantum/Workspaces/proddelete2","name":"proddelete2","type":"Microsoft.Quantum/Workspaces","location":"westus","createdTime":"2020-05-28T17:31:37.3759282Z","changedTime":"2020-05-28T17:42:12.4736796Z","provisioningState":"Succeeded","tags":{"department":"MightyMight","company":"Contoso"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/hay-testRG/providers/Microsoft.Quantum/workspaces/dfDemoNew10","name":"dfDemoNew10","type":"Microsoft.Quantum/workspaces","location":"westus","createdTime":"2020-03-11T19:20:33.4802519Z","changedTime":"2020-03-11T19:30:34.3278194Z","provisioningState":"Succeeded","tags":{"department":"MightyMight","company":"Contoso"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/hay-testRG/providers/Microsoft.Quantum/workspaces/dfDemoNew8","name":"dfDemoNew8","type":"Microsoft.Quantum/workspaces","location":"westus","createdTime":"2020-03-11T03:12:37.0377102Z","changedTime":"2020-03-11T03:22:37.3633519Z","provisioningState":"Succeeded","tags":{"department":"MightyMight","company":"Contoso"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/hay-testRG/providers/Microsoft.Quantum/workspaces/dfDemoNew9","name":"dfDemoNew9","type":"Microsoft.Quantum/workspaces","location":"westus","createdTime":"2020-03-11T03:13:24.1727198Z","changedTime":"2020-05-15T02:34:05.6088144Z","provisioningState":"Succeeded","tags":{"department":"MightyMight","company":"Contoso"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/hay-testRG/providers/Microsoft.Quantum/workspaces/prod1","name":"prod1","type":"Microsoft.Quantum/workspaces","location":"westus","createdTime":"2020-03-10T03:16:06.5245195Z","changedTime":"2020-03-10T03:26:08.8514382Z","provisioningState":"Succeeded","tags":{"department":"MightyMight","company":"Contoso"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rwolfso/providers/Microsoft.Quantum/Workspaces/rowolfso","name":"rowolfso","type":"Microsoft.Quantum/Workspaces","location":"westus","createdTime":"2020-05-08T18:36:18.0334208Z","changedTime":"2020-05-08T18:46:19.5168746Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sanjgupt/providers/Microsoft.Quantum/Workspaces/job_shop","name":"job_shop","type":"Microsoft.Quantum/Workspaces","location":"westus","createdTime":"2020-07-05T01:48:33.5086065Z","changedTime":"2020-07-05T01:58:35.2363297Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sdk-review-rg/providers/Microsoft.Quantum/Workspaces/workspace-ms","name":"workspace-ms","type":"Microsoft.Quantum/Workspaces","location":"westus","identity":{"principalId":"3bbce0c2-fbdc-4154-8132-e5ffab9abe46","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-22T18:55:19.83585Z","changedTime":"2021-01-22T23:05:25.3866206Z","provisioningState":"Succeeded","tags":{}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sdktestrg-7961/providers/Microsoft.Quantum/Workspaces/aqws5237","name":"aqws5237","type":"Microsoft.Quantum/Workspaces","location":"westus","identity":{"principalId":"17ca4ab7-b357-4797-8600-aa9d7d3d19d9","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-27T13:34:18.297899Z","changedTime":"2021-01-27T17:44:22.446036Z","provisioningState":"Succeeded","tags":{"TestTag":"TestUpdate"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testalias-e2e-tests-westus-rg/providers/microsoft.quantum/Workspaces/e2e-tests-workspace-Microsoft","name":"e2e-tests-workspace-Microsoft","type":"microsoft.quantum/Workspaces","location":"westus","createdTime":"2020-06-23T22:00:45.5575287Z","changedTime":"2020-06-23T22:10:47.7509457Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/validator-test-rg/providers/microsoft.quantum/Workspaces/testworkspace","name":"testworkspace","type":"microsoft.quantum/Workspaces","location":"westus","createdTime":"2020-04-28T21:52:31.2857652Z","changedTime":"2020-04-28T22:02:33.3373885Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/xiou/providers/Microsoft.Quantum/Workspaces/xiou-quantumws","name":"xiou-quantumws","type":"Microsoft.Quantum/Workspaces","location":"westus","identity":{"principalId":"e03fdb80-274f-4137-8c73-437233dc6b44","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-11T23:50:19.4757002Z","changedTime":"2021-01-28T17:48:49.3744261Z","provisioningState":"Succeeded","tags":{}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/yinshen-test/providers/Microsoft.Quantum/Workspaces/demo-yinshen","name":"demo-yinshen","type":"Microsoft.Quantum/Workspaces","location":"westus","createdTime":"2020-06-05T16:40:04.7665954Z","changedTime":"2020-06-05T20:50:32.5084865Z","provisioningState":"Succeeded","tags":{}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/yinshen-test/providers/Microsoft.Quantum/Workspaces/yinshen-workspace","name":"yinshen-workspace","type":"Microsoft.Quantum/Workspaces","location":"westus","createdTime":"2020-05-27T21:34:55.5356144Z","changedTime":"2020-05-28T17:13:33.1891196Z","provisioningState":"Succeeded","tags":{}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/yinshen-test-001/providers/Microsoft.Quantum/Workspaces/accepted","name":"accepted","type":"Microsoft.Quantum/Workspaces","location":"westus","createdTime":"2020-06-01T20:37:01.157089Z","changedTime":"2020-06-01T20:47:47.6517904Z","provisioningState":"Succeeded","tags":{}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/yinshen-test-001/providers/Microsoft.Quantum/Workspaces/new","name":"new","type":"Microsoft.Quantum/Workspaces","location":"westus","createdTime":"2020-06-01T19:13:43.47931Z","changedTime":"2020-06-01T19:24:19.3065929Z","provisioningState":"Succeeded","tags":{}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/yinshen-test-001/providers/Microsoft.Quantum/Workspaces/yinshen-test-new","name":"yinshen-test-new","type":"Microsoft.Quantum/Workspaces","location":"westus","createdTime":"2020-06-01T17:59:32.2118129Z","changedTime":"2020-06-01T18:10:08.1421597Z","provisioningState":"Succeeded","tags":{}}]}' + headers: + cache-control: + - no-cache + content-length: + - '51937' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 29 Jan 2021 17:44:52 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - quantum workspace list + Connection: + - keep-alive + ParameterSetName: + - -o + User-Agent: + - python/3.8.2 (Windows-10-10.0.19041-SP0) msrest/0.6.18 msrest_azure/0.6.3 + azure-mgmt-resource/12.0.0 Azure-SDK-For-Python AZURECLI/2.18.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resources?$filter=resourceType%20eq%20%27Microsoft.Quantum%2FWorkspaces%27&$expand=createdTime%2CchangedTime%2CprovisioningState&api-version=2020-10-01 + response: + body: + string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/alchocro-test-001/providers/Microsoft.Quantum/Workspaces/test-workspace-001","name":"test-workspace-001","type":"Microsoft.Quantum/Workspaces","location":"westus","createdTime":"2020-03-19T20:40:40.9074747Z","changedTime":"2020-03-19T20:51:02.1112482Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/anpaz-privpreview/providers/Microsoft.Quantum/Workspaces/anpaz-privpreview","name":"anpaz-privpreview","type":"Microsoft.Quantum/Workspaces","location":"westus","createdTime":"2020-03-19T20:35:39.2656094Z","changedTime":"2020-05-29T18:36:12.3334808Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/microsoft.quantum/Workspaces/a0ca7503-52e7-4b72-9a6c-f20c6b588b89","name":"a0ca7503-52e7-4b72-9a6c-f20c6b588b89","type":"microsoft.quantum/Workspaces","location":"westus","createdTime":"2020-12-02T11:14:36.357492Z","changedTime":"2021-01-29T01:26:46.7988215Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/microsoft.quantum/Workspaces/a483870c-669d-4d26-85aa-1749184928a1","name":"a483870c-669d-4d26-85aa-1749184928a1","type":"microsoft.quantum/Workspaces","location":"westus","createdTime":"2020-12-08T11:44:28.5928054Z","changedTime":"2020-12-08T15:54:29.9329915Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/microsoft.quantum/Workspaces/a819952b-d66e-4300-93e0-ef2819ff6a4a","name":"a819952b-d66e-4300-93e0-ef2819ff6a4a","type":"microsoft.quantum/Workspaces","location":"westus","createdTime":"2020-11-19T00:42:25.5681274Z","changedTime":"2020-11-19T04:52:27.3144452Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/microsoft.quantum/Workspaces/a8a0a410-28e6-4853-9efd-474f2ff3cbc5","name":"a8a0a410-28e6-4853-9efd-474f2ff3cbc5","type":"microsoft.quantum/Workspaces","location":"westus","createdTime":"2020-11-21T06:14:24.3757788Z","changedTime":"2020-11-21T10:24:27.096252Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/microsoft.quantum/Workspaces/a9f07b06-000c-44ef-8978-e02726909451","name":"a9f07b06-000c-44ef-8978-e02726909451","type":"microsoft.quantum/Workspaces","location":"westus","createdTime":"2020-12-06T06:20:11.3951581Z","changedTime":"2020-12-06T11:30:13.5907122Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/microsoft.quantum/Workspaces/ab806e49-33ad-44ae-9d93-cff516e03d35","name":"ab806e49-33ad-44ae-9d93-cff516e03d35","type":"microsoft.quantum/Workspaces","location":"westus","createdTime":"2020-11-19T19:12:27.3948018Z","changedTime":"2020-11-19T23:22:29.8937131Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/microsoft.quantum/Workspaces/abb12f7b-0c47-4f12-9a55-ea9d569ee335","name":"abb12f7b-0c47-4f12-9a55-ea9d569ee335","type":"microsoft.quantum/Workspaces","location":"westus","createdTime":"2020-11-19T00:23:59.8169271Z","changedTime":"2020-11-19T04:34:01.5911073Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/microsoft.quantum/Workspaces/abb3bcf8-a5c9-4165-a214-3373807def3e","name":"abb3bcf8-a5c9-4165-a214-3373807def3e","type":"microsoft.quantum/Workspaces","location":"westus","createdTime":"2020-11-21T23:34:44.0283219Z","changedTime":"2020-11-22T03:44:47.240863Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/microsoft.quantum/Workspaces/ad251a78-5849-4242-adb8-aed242f2899e","name":"ad251a78-5849-4242-adb8-aed242f2899e","type":"microsoft.quantum/Workspaces","location":"westus","createdTime":"2020-12-02T23:32:08.7079373Z","changedTime":"2020-12-03T03:42:14.4216627Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/microsoft.quantum/Workspaces/ad4c99b3-17b6-44f7-887b-b82feae5d572","name":"ad4c99b3-17b6-44f7-887b-b82feae5d572","type":"microsoft.quantum/Workspaces","location":"westus","createdTime":"2020-12-06T00:13:49.0246144Z","changedTime":"2020-12-06T04:23:50.9864457Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/microsoft.quantum/Workspaces/ad9b04ea-2524-4f24-9ef2-95fde0ffee38","name":"ad9b04ea-2524-4f24-9ef2-95fde0ffee38","type":"microsoft.quantum/Workspaces","location":"westus","createdTime":"2020-11-18T23:37:53.7829675Z","changedTime":"2020-11-19T04:49:32.3743713Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/microsoft.quantum/Workspaces/adf748b0-a9a8-4549-9df9-f06779233644","name":"adf748b0-a9a8-4549-9df9-f06779233644","type":"microsoft.quantum/Workspaces","location":"westus","createdTime":"2020-11-22T21:54:31.5612443Z","changedTime":"2020-11-23T02:04:33.8375652Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/microsoft.quantum/Workspaces/af7571a5-76d6-4c3a-96d2-7e2cf9dfdff6","name":"af7571a5-76d6-4c3a-96d2-7e2cf9dfdff6","type":"microsoft.quantum/Workspaces","location":"westus","createdTime":"2020-11-19T00:00:31.696844Z","changedTime":"2020-11-19T04:10:34.5983666Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/microsoft.quantum/Workspaces/b0bc8e61-4b08-48c4-b4c6-b2ba323ec9a1","name":"b0bc8e61-4b08-48c4-b4c6-b2ba323ec9a1","type":"microsoft.quantum/Workspaces","location":"westus","createdTime":"2020-11-18T22:53:34.6378661Z","changedTime":"2020-11-19T03:03:36.1308906Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/microsoft.quantum/Workspaces/b133855d-bea0-457b-b23a-6f61067e00b6","name":"b133855d-bea0-457b-b23a-6f61067e00b6","type":"microsoft.quantum/Workspaces","location":"westus","createdTime":"2020-12-07T16:55:22.6298727Z","changedTime":"2020-12-07T21:05:24.7559707Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/microsoft.quantum/Workspaces/b1a50afd-8ad7-4731-b63f-8c2001ae28f1","name":"b1a50afd-8ad7-4731-b63f-8c2001ae28f1","type":"microsoft.quantum/Workspaces","location":"westus","createdTime":"2020-11-21T03:17:01.2469328Z","changedTime":"2020-11-21T07:27:04.3701785Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/microsoft.quantum/Workspaces/b37dabb3-4efd-4831-8ad0-f97622b8b78f","name":"b37dabb3-4efd-4831-8ad0-f97622b8b78f","type":"microsoft.quantum/Workspaces","location":"westus","createdTime":"2020-11-18T23:24:46.5743222Z","changedTime":"2020-11-19T03:34:48.0457112Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/microsoft.quantum/Workspaces/b4c86317-739c-4eee-bc17-e5fd80075e98","name":"b4c86317-739c-4eee-bc17-e5fd80075e98","type":"microsoft.quantum/Workspaces","location":"westus","createdTime":"2020-12-02T01:42:28.1804397Z","changedTime":"2020-12-02T06:52:30.0270925Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/microsoft.quantum/Workspaces/b60b6e66-b96d-4229-ae09-ff5519a59101","name":"b60b6e66-b96d-4229-ae09-ff5519a59101","type":"microsoft.quantum/Workspaces","location":"westus","createdTime":"2020-11-21T09:17:58.0427486Z","changedTime":"2020-11-21T13:28:00.7338421Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/microsoft.quantum/Workspaces/b95fe7e1-216d-4525-bb82-3f88df5a2f8f","name":"b95fe7e1-216d-4525-bb82-3f88df5a2f8f","type":"microsoft.quantum/Workspaces","location":"westus","createdTime":"2020-11-19T21:34:35.6849568Z","changedTime":"2020-11-20T01:44:37.3175706Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/microsoft.quantum/Workspaces/bb44deb8-8548-4599-b5c6-c43e2e3cd790","name":"bb44deb8-8548-4599-b5c6-c43e2e3cd790","type":"microsoft.quantum/Workspaces","location":"westus","createdTime":"2020-11-21T05:26:34.9431076Z","changedTime":"2020-11-21T09:36:37.2937877Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/microsoft.quantum/Workspaces/bb746c4d-007e-49e0-b340-61647679cc24","name":"bb746c4d-007e-49e0-b340-61647679cc24","type":"microsoft.quantum/Workspaces","location":"westus","createdTime":"2020-11-18T22:29:20.5140588Z","changedTime":"2020-11-19T02:39:24.0877497Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/microsoft.quantum/Workspaces/c1151961-4abb-41f3-bff5-3e3b81d5b440","name":"c1151961-4abb-41f3-bff5-3e3b81d5b440","type":"microsoft.quantum/Workspaces","location":"westus","createdTime":"2020-12-02T10:45:17.6267314Z","changedTime":"2020-12-02T14:55:20.9268221Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/microsoft.quantum/Workspaces/c19aa8f5-bdf6-4845-879d-e4d7fa24bdae","name":"c19aa8f5-bdf6-4845-879d-e4d7fa24bdae","type":"microsoft.quantum/Workspaces","location":"westus","createdTime":"2020-11-22T08:35:45.0327657Z","changedTime":"2020-11-22T12:45:46.7263362Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/microsoft.quantum/Workspaces/c2675ec3-96f2-4740-b0bf-2d2db5b31153","name":"c2675ec3-96f2-4740-b0bf-2d2db5b31153","type":"microsoft.quantum/Workspaces","location":"westus","createdTime":"2020-11-21T06:14:25.2063062Z","changedTime":"2020-11-21T10:24:27.9424305Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/microsoft.quantum/Workspaces/c3bbe676-b4fd-4259-bd07-e3678a7bc29f","name":"c3bbe676-b4fd-4259-bd07-e3678a7bc29f","type":"microsoft.quantum/Workspaces","location":"westus","createdTime":"2020-11-21T02:36:50.6635511Z","changedTime":"2020-11-21T06:46:53.9001781Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/microsoft.quantum/Workspaces/c613939c-08d9-4148-b4f8-819cfd1dff62","name":"c613939c-08d9-4148-b4f8-819cfd1dff62","type":"microsoft.quantum/Workspaces","location":"westus","createdTime":"2020-11-22T08:24:39.4643815Z","changedTime":"2020-11-22T13:34:43.6055169Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/microsoft.quantum/Workspaces/c8935a37-be15-43d6-abef-a207c1e924cc","name":"c8935a37-be15-43d6-abef-a207c1e924cc","type":"microsoft.quantum/Workspaces","location":"westus","createdTime":"2020-11-18T23:46:26.4163274Z","changedTime":"2020-11-19T03:56:30.3796767Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/microsoft.quantum/Workspaces/c89b9327-f01f-4ce2-bcfa-0fe52e66412d","name":"c89b9327-f01f-4ce2-bcfa-0fe52e66412d","type":"microsoft.quantum/Workspaces","location":"westus","createdTime":"2020-12-06T00:48:40.3997555Z","changedTime":"2020-12-06T04:58:42.0758969Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/microsoft.quantum/Workspaces/c90369a2-e2b3-4591-8c54-ffc4b1bd8395","name":"c90369a2-e2b3-4591-8c54-ffc4b1bd8395","type":"microsoft.quantum/Workspaces","location":"westus","createdTime":"2020-11-21T03:27:47.7655249Z","changedTime":"2020-11-21T08:37:49.954868Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Quantum/Workspaces/canary0159d26f-eb77-47ed-8439-c37ae99e7183","name":"canary0159d26f-eb77-47ed-8439-c37ae99e7183","type":"Microsoft.Quantum/Workspaces","location":"eastus2euap","identity":{"principalId":"aaccae4f-a18a-4b1d-a974-c33aebefe2f8","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-29T00:09:39.3052523Z","changedTime":"2021-01-29T05:21:52.5994068Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Quantum/Workspaces/canary02d7aea3-274d-46d0-842d-de3c43e699ae","name":"canary02d7aea3-274d-46d0-842d-de3c43e699ae","type":"Microsoft.Quantum/Workspaces","location":"eastus2euap","identity":{"principalId":"5eea500c-1d7d-4853-9d37-e4bd9ef0f561","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-29T04:05:08.2881005Z","changedTime":"2021-01-29T09:17:22.2836333Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Quantum/Workspaces/canary07cf7cee-0f5e-4384-a18c-35d67453068d","name":"canary07cf7cee-0f5e-4384-a18c-35d67453068d","type":"Microsoft.Quantum/Workspaces","location":"eastus2euap","identity":{"principalId":"7379989d-4aed-4013-bd07-98a53bf5618a","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-28T19:31:38.1684822Z","changedTime":"2021-01-29T00:43:54.1478121Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Quantum/Workspaces/canary0a280e24-7d97-40c6-8a6d-33ba1ce493b7","name":"canary0a280e24-7d97-40c6-8a6d-33ba1ce493b7","type":"Microsoft.Quantum/Workspaces","location":"eastus2euap","identity":{"principalId":"fd3d8db1-ecc6-4ecf-824a-0044bfe09366","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-29T06:44:46.1348793Z","changedTime":"2021-01-29T11:56:28.4869645Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Quantum/Workspaces/canary1fec6f17-ecde-450c-b12e-cbde1d79b26e","name":"canary1fec6f17-ecde-450c-b12e-cbde1d79b26e","type":"Microsoft.Quantum/Workspaces","location":"eastus2euap","identity":{"principalId":"392e808d-733d-4794-9315-9162d9a5c8fc","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-29T06:46:45.8055727Z","changedTime":"2021-01-29T11:58:37.4872091Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Quantum/Workspaces/canary22c32955-238f-4f60-929a-d3a76f07a660","name":"canary22c32955-238f-4f60-929a-d3a76f07a660","type":"Microsoft.Quantum/Workspaces","location":"eastus2euap","identity":{"principalId":"0fb3b558-1682-4c7f-82db-93ce5030aaff","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-29T04:39:21.6834541Z","changedTime":"2021-01-29T09:51:42.6698621Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Quantum/Workspaces/canary2ba7425b-d459-4bd3-a75f-5d7521c96f7f","name":"canary2ba7425b-d459-4bd3-a75f-5d7521c96f7f","type":"Microsoft.Quantum/Workspaces","location":"eastus2euap","identity":{"principalId":"988c4cb6-eba4-4255-999d-b7805e501562","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-29T06:09:34.1351482Z","changedTime":"2021-01-29T11:21:19.5223023Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Quantum/Workspaces/canary2c3bdee4-d11b-439c-84f6-3e3fbc9c6e0c","name":"canary2c3bdee4-d11b-439c-84f6-3e3fbc9c6e0c","type":"Microsoft.Quantum/Workspaces","location":"eastus2euap","identity":{"principalId":"1a9cea82-670e-43f4-a742-98eccef88f5d","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-29T06:25:10.7470315Z","changedTime":"2021-01-29T11:36:51.7951521Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Quantum/Workspaces/canary3198413e-bdbf-426c-9b6d-4d443816d09d","name":"canary3198413e-bdbf-426c-9b6d-4d443816d09d","type":"Microsoft.Quantum/Workspaces","location":"eastus2euap","identity":{"principalId":"24c609b1-0373-483d-a970-a26dfa9be3cd","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-29T10:21:51.8457102Z","changedTime":"2021-01-29T15:33:34.7919163Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Quantum/Workspaces/canary34edc58b-6abd-4c21-bd1a-620f671c3124","name":"canary34edc58b-6abd-4c21-bd1a-620f671c3124","type":"Microsoft.Quantum/Workspaces","location":"eastus2euap","identity":{"principalId":"63f448bc-3110-4805-a86a-5144d2ffc2fb","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-29T11:11:27.0876888Z","changedTime":"2021-01-29T16:23:10.0139457Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Quantum/Workspaces/canary36dc6c51-9897-4ef1-b4f1-882ce05e5411","name":"canary36dc6c51-9897-4ef1-b4f1-882ce05e5411","type":"Microsoft.Quantum/Workspaces","location":"eastus2euap","identity":{"principalId":"f33e7bd0-495e-471d-8285-de56451e71f6","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-29T13:49:31.4931673Z","changedTime":"2021-01-29T13:51:24.4911362Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Quantum/Workspaces/canary3bdd2361-e63e-4ce8-bc3a-1feffc177032","name":"canary3bdd2361-e63e-4ce8-bc3a-1feffc177032","type":"Microsoft.Quantum/Workspaces","location":"eastus2euap","identity":{"principalId":"990977ad-65a1-45ee-a5fa-fb896d416a27","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-28T19:53:43.3095924Z","changedTime":"2021-01-29T01:05:58.3628238Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Quantum/Workspaces/canary3e74f30b-2185-4dc8-98e4-de53a53f33e2","name":"canary3e74f30b-2185-4dc8-98e4-de53a53f33e2","type":"Microsoft.Quantum/Workspaces","location":"eastus2euap","identity":{"principalId":"6376f3b9-285a-4620-bcd9-f7d46cc1f04e","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-28T18:37:22.2147208Z","changedTime":"2021-01-28T23:49:37.5376089Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Quantum/Workspaces/canary4791c059-0ae9-4e74-9d2c-13c00a7da740","name":"canary4791c059-0ae9-4e74-9d2c-13c00a7da740","type":"Microsoft.Quantum/Workspaces","location":"eastus2euap","identity":{"principalId":"1a635759-f464-42d1-be67-833544d7faef","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-29T12:58:10.7591125Z","changedTime":"2021-01-29T17:10:18.8053932Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Quantum/Workspaces/canary509acb81-cfc6-4b52-8b85-51ad8cb3b124","name":"canary509acb81-cfc6-4b52-8b85-51ad8cb3b124","type":"Microsoft.Quantum/Workspaces","location":"eastus2euap","identity":{"principalId":"a9860650-7b07-4b27-a420-b10819f78a5d","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-29T14:52:28.4201143Z","changedTime":"2021-01-29T14:54:07.2966664Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Quantum/Workspaces/canary55e1df0f-fe76-4db0-a70b-48d0bd009ce6","name":"canary55e1df0f-fe76-4db0-a70b-48d0bd009ce6","type":"Microsoft.Quantum/Workspaces","location":"eastus2euap","identity":{"principalId":"0d192458-6f5d-48f5-8d99-6122fbde9648","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-29T13:27:25.1590704Z","changedTime":"2021-01-29T17:39:53.9323445Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Quantum/Workspaces/canary586dff93-ed9d-405b-b9f6-9792becce8e9","name":"canary586dff93-ed9d-405b-b9f6-9792becce8e9","type":"Microsoft.Quantum/Workspaces","location":"eastus2euap","identity":{"principalId":"e06e5fe3-ba73-466a-85cf-e6a1e0b17b76","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-29T09:34:29.7810231Z","changedTime":"2021-01-29T14:46:05.9576226Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Quantum/Workspaces/canary5a295308-b8a3-48aa-b11e-bbff7c8a39ed","name":"canary5a295308-b8a3-48aa-b11e-bbff7c8a39ed","type":"Microsoft.Quantum/Workspaces","location":"eastus2euap","identity":{"principalId":"b69855c1-ccbc-4e2a-aa95-f371089362f6","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-28T17:17:07.2465204Z","changedTime":"2021-01-28T22:28:50.1184247Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Quantum/Workspaces/canary5aa8bb8f-777f-47ce-8609-b59f4ddee19d","name":"canary5aa8bb8f-777f-47ce-8609-b59f4ddee19d","type":"Microsoft.Quantum/Workspaces","location":"eastus2euap","identity":{"principalId":"749994c9-8f15-44ea-abb4-79373d8f0288","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-28T23:33:26.4121495Z","changedTime":"2021-01-29T04:45:33.688015Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Quantum/Workspaces/canary5d781ae4-fdcc-4700-abe8-376b83130f3b","name":"canary5d781ae4-fdcc-4700-abe8-376b83130f3b","type":"Microsoft.Quantum/Workspaces","location":"eastus2euap","identity":{"principalId":"517ed387-ac47-4a46-b42f-5cb9e02d0014","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-29T04:53:00.2811631Z","changedTime":"2021-01-29T10:20:51.7482652Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Quantum/Workspaces/canary62f96076-0ee3-4a88-980a-070fc9e24bd1","name":"canary62f96076-0ee3-4a88-980a-070fc9e24bd1","type":"Microsoft.Quantum/Workspaces","location":"eastus2euap","identity":{"principalId":"1156b097-b32d-4850-bce4-80912aca59c6","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-29T07:22:01.2959127Z","changedTime":"2021-01-29T12:33:45.3734542Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Quantum/Workspaces/canary636cb5ef-af6e-4332-b6d7-2ff84ba16896","name":"canary636cb5ef-af6e-4332-b6d7-2ff84ba16896","type":"Microsoft.Quantum/Workspaces","location":"eastus2euap","identity":{"principalId":"54e57496-8593-43eb-acdf-142dbaef0c8e","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-28T15:29:03.588732Z","changedTime":"2021-01-28T20:41:06.9331223Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Quantum/Workspaces/canary65f32294-05f5-43d6-af43-97975f5da7ab","name":"canary65f32294-05f5-43d6-af43-97975f5da7ab","type":"Microsoft.Quantum/Workspaces","location":"eastus2euap","identity":{"principalId":"3291f65a-0502-4d84-af09-e90805c068ba","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-29T17:42:21.6598401Z","changedTime":"2021-01-29T17:42:43.3088724Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Quantum/Workspaces/canary66ff9e48-3072-4eca-9132-9bfff6380b05","name":"canary66ff9e48-3072-4eca-9132-9bfff6380b05","type":"Microsoft.Quantum/Workspaces","location":"eastus2euap","identity":{"principalId":"0c9144b5-8e65-4799-8486-373ebf7a9426","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-29T17:39:47.2210052Z","changedTime":"2021-01-29T17:40:06.7833244Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Quantum/Workspaces/canary6bbd03cf-d54f-45f7-8fe5-3fca75b6a6e3","name":"canary6bbd03cf-d54f-45f7-8fe5-3fca75b6a6e3","type":"Microsoft.Quantum/Workspaces","location":"eastus2euap","identity":{"principalId":"0de49bf5-8cce-440e-a3c9-090857f719f3","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-29T05:08:06.2102074Z","changedTime":"2021-01-29T10:19:55.5588539Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Quantum/Workspaces/canary6f69fa70-a5f3-41fa-aa67-09a16d22fc3a","name":"canary6f69fa70-a5f3-41fa-aa67-09a16d22fc3a","type":"Microsoft.Quantum/Workspaces","location":"eastus2euap","identity":{"principalId":"525e9516-c687-4b84-b038-49871c6dc03d","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-28T14:09:59.6530179Z","changedTime":"2021-01-28T19:21:58.7316873Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Quantum/Workspaces/canary7944a6ec-3bb7-4cdd-90fe-5976975e1867","name":"canary7944a6ec-3bb7-4cdd-90fe-5976975e1867","type":"Microsoft.Quantum/Workspaces","location":"eastus2euap","identity":{"principalId":"69fb1700-5e43-472c-a464-b0e21a8f11cd","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-29T15:18:17.0993611Z","changedTime":"2021-01-29T15:19:55.1400671Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Quantum/Workspaces/canary796cc3f7-e289-4c4f-ae8b-f692ad61afd6","name":"canary796cc3f7-e289-4c4f-ae8b-f692ad61afd6","type":"Microsoft.Quantum/Workspaces","location":"eastus2euap","identity":{"principalId":"7272a725-bdf0-486b-a940-2f138d956537","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-28T23:58:33.1889122Z","changedTime":"2021-01-29T05:10:52.8419402Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Quantum/Workspaces/canary7c10f347-c2ac-47fe-93e0-b7fad31110f0","name":"canary7c10f347-c2ac-47fe-93e0-b7fad31110f0","type":"Microsoft.Quantum/Workspaces","location":"eastus2euap","identity":{"principalId":"0285c19b-06f0-491d-9a11-8472a1f5bcf4","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-28T22:51:00.4594803Z","changedTime":"2021-01-29T03:03:40.7375784Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Quantum/Workspaces/canary7d728676-7a54-4bb3-89fd-c8295bc3cb5f","name":"canary7d728676-7a54-4bb3-89fd-c8295bc3cb5f","type":"Microsoft.Quantum/Workspaces","location":"eastus2euap","identity":{"principalId":"001afcac-3d37-4484-8a70-244c1eaec844","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-29T12:21:47.3376691Z","changedTime":"2021-01-29T17:33:55.0587898Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Quantum/Workspaces/canary7ddc4c94-d652-4642-bb3d-310c6009897a","name":"canary7ddc4c94-d652-4642-bb3d-310c6009897a","type":"Microsoft.Quantum/Workspaces","location":"eastus2euap","identity":{"principalId":"bbfa3d82-9ee0-4b53-9303-bc404e760a75","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-29T17:43:16.5988557Z","changedTime":"2021-01-29T17:43:37.4211064Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Quantum/Workspaces/canary883b1a26-c794-41d4-a73e-af9f3ea3390f","name":"canary883b1a26-c794-41d4-a73e-af9f3ea3390f","type":"Microsoft.Quantum/Workspaces","location":"eastus2euap","identity":{"principalId":"48a4e242-18bd-4ed4-b48c-307086b00ddb","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-29T12:36:03.8594641Z","changedTime":"2021-01-29T16:48:11.8774744Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Quantum/Workspaces/canary8f7379f2-b5e3-4c69-8890-ec842816b3d3","name":"canary8f7379f2-b5e3-4c69-8890-ec842816b3d3","type":"Microsoft.Quantum/Workspaces","location":"eastus2euap","identity":{"principalId":"acfc603d-0974-4b19-a4c2-0bd4c8d32123","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-29T09:32:46.6706294Z","changedTime":"2021-01-29T14:44:29.8433533Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Quantum/Workspaces/canary9157570b-b1e5-423c-9f68-15157f3f4716","name":"canary9157570b-b1e5-423c-9f68-15157f3f4716","type":"Microsoft.Quantum/Workspaces","location":"eastus2euap","identity":{"principalId":"8b19a600-a097-4c4f-9170-d92d119830f6","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-28T19:44:06.7979025Z","changedTime":"2021-01-29T01:14:45.109364Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Quantum/Workspaces/canary961f9f01-7163-49d7-a82b-be5234fbfbcd","name":"canary961f9f01-7163-49d7-a82b-be5234fbfbcd","type":"Microsoft.Quantum/Workspaces","location":"eastus2euap","identity":{"principalId":"498cd8f4-0340-486c-8498-bbbbc101afd9","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-29T11:46:40.9654679Z","changedTime":"2021-01-29T16:59:00.5591261Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Quantum/Workspaces/canary9635c902-d26a-4213-aa17-d6bded08ac7b","name":"canary9635c902-d26a-4213-aa17-d6bded08ac7b","type":"Microsoft.Quantum/Workspaces","location":"eastus2euap","identity":{"principalId":"58da2acb-01be-4494-8a50-47193adbdfae","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-29T00:59:57.9397369Z","changedTime":"2021-01-29T06:12:12.6654397Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Quantum/Workspaces/canary9b018b63-e497-4efb-8c91-42246e512896","name":"canary9b018b63-e497-4efb-8c91-42246e512896","type":"Microsoft.Quantum/Workspaces","location":"eastus2euap","identity":{"principalId":"9a88499d-36ee-419e-ad01-fd07a82f0335","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-29T03:14:47.845491Z","changedTime":"2021-01-29T08:26:54.9326831Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Quantum/Workspaces/canary9c88f1db-78e3-4a88-93e7-24851f273f68","name":"canary9c88f1db-78e3-4a88-93e7-24851f273f68","type":"Microsoft.Quantum/Workspaces","location":"eastus2euap","identity":{"principalId":"561c6e68-1f7b-496a-ba9b-a5b7701a8d99","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-29T02:39:06.1952686Z","changedTime":"2021-01-29T07:51:18.3681731Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Quantum/Workspaces/canary9e1c08fa-28e4-43eb-8be7-79aff8b8afc2","name":"canary9e1c08fa-28e4-43eb-8be7-79aff8b8afc2","type":"Microsoft.Quantum/Workspaces","location":"eastus2euap","identity":{"principalId":"debf0679-9879-48a3-b74b-7f80a939e7e9","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-28T22:54:23.9064644Z","changedTime":"2021-01-29T03:04:27.8228596Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Quantum/Workspaces/canary9eb9cb35-66bf-49b8-acd4-3858bd1877a1","name":"canary9eb9cb35-66bf-49b8-acd4-3858bd1877a1","type":"Microsoft.Quantum/Workspaces","location":"eastus2euap","identity":{"principalId":"7072da9b-27bd-436d-8d70-9264d4604e81","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-28T14:25:38.3496247Z","changedTime":"2021-01-28T19:37:56.0448452Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Quantum/Workspaces/canarya310a0f3-d03b-424f-a61d-d5f31cbf5bee","name":"canarya310a0f3-d03b-424f-a61d-d5f31cbf5bee","type":"Microsoft.Quantum/Workspaces","location":"eastus2euap","identity":{"principalId":"82295401-8a0f-451b-8991-2b41028499ae","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-28T23:59:29.1824094Z","changedTime":"2021-01-29T05:11:08.9279472Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Quantum/Workspaces/canarya331900e-0ce5-40de-bbff-490510343495","name":"canarya331900e-0ce5-40de-bbff-490510343495","type":"Microsoft.Quantum/Workspaces","location":"eastus2euap","identity":{"principalId":"1c8e96c7-3d41-471f-92a5-0757389cd3e4","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-28T20:23:10.8402137Z","changedTime":"2021-01-29T01:35:29.4930545Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Quantum/Workspaces/canarya3e74558-1596-48cb-b776-8a52290ba8c9","name":"canarya3e74558-1596-48cb-b776-8a52290ba8c9","type":"Microsoft.Quantum/Workspaces","location":"eastus2euap","identity":{"principalId":"ee37cf8d-f657-4214-a57f-88df26ba61fb","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-28T16:04:16.8312522Z","changedTime":"2021-01-28T21:16:28.3314198Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Quantum/Workspaces/canarya856b0e3-e890-467c-8e66-77b2e175e4a4","name":"canarya856b0e3-e890-467c-8e66-77b2e175e4a4","type":"Microsoft.Quantum/Workspaces","location":"eastus2euap","identity":{"principalId":"40578956-b245-4304-8478-2fc79e3f73e3","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-28T18:21:42.6118816Z","changedTime":"2021-01-28T18:22:03.6104415Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Quantum/Workspaces/canaryab482f50-7399-4af9-9f95-30d9f9f6c2db","name":"canaryab482f50-7399-4af9-9f95-30d9f9f6c2db","type":"Microsoft.Quantum/Workspaces","location":"eastus2euap","identity":{"principalId":"62dd8791-fb97-4588-9167-ba63db651d99","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-29T07:37:52.1782637Z","changedTime":"2021-01-29T12:49:42.4784344Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Quantum/Workspaces/canaryaf55cf64-18c9-4ae7-b7af-bd2863f7abb5","name":"canaryaf55cf64-18c9-4ae7-b7af-bd2863f7abb5","type":"Microsoft.Quantum/Workspaces","location":"eastus2euap","identity":{"principalId":"e33b3a47-29a2-4b58-b32e-68d5a2eafbae","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-28T19:08:53.9634789Z","changedTime":"2021-01-29T00:20:44.862695Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Quantum/Workspaces/canarybfb86f17-023e-4343-86e0-27ba2f15fede","name":"canarybfb86f17-023e-4343-86e0-27ba2f15fede","type":"Microsoft.Quantum/Workspaces","location":"eastus2euap","identity":{"principalId":"34ee724c-2fdc-4186-af0d-fcbafdb0e242","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-28T20:15:48.9044617Z","changedTime":"2021-01-29T01:27:55.0474733Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Quantum/Workspaces/canarycacbecd0-5f75-4526-8869-55cae2b5aece","name":"canarycacbecd0-5f75-4526-8869-55cae2b5aece","type":"Microsoft.Quantum/Workspaces","location":"eastus2euap","identity":{"principalId":"802d8c70-d282-4c71-a79b-77bf06e68761","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-29T15:23:33.998012Z","changedTime":"2021-01-29T15:25:11.0897146Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Quantum/Workspaces/canarycd9ae654-e726-4699-868b-5d1765edd5f6","name":"canarycd9ae654-e726-4699-868b-5d1765edd5f6","type":"Microsoft.Quantum/Workspaces","location":"eastus2euap","identity":{"principalId":"c71d5804-dbf2-4e93-a02b-3fa83a96e644","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-28T21:27:06.3765469Z","changedTime":"2021-01-29T02:39:13.737332Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Quantum/Workspaces/canarycece9bd4-8547-4e83-a23f-62915f6e6c26","name":"canarycece9bd4-8547-4e83-a23f-62915f6e6c26","type":"Microsoft.Quantum/Workspaces","location":"eastus2euap","identity":{"principalId":"9c5a47f7-bfb1-4f44-955b-9c2c02ae1e4f","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-29T02:17:00.6409414Z","changedTime":"2021-01-29T07:29:12.3957247Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Quantum/Workspaces/canarycf055435-7bae-43fb-a890-0999cd6afdb2","name":"canarycf055435-7bae-43fb-a890-0999cd6afdb2","type":"Microsoft.Quantum/Workspaces","location":"eastus2euap","identity":{"principalId":"c4d09c02-0997-4711-bc67-374c3b0e03e2","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-28T18:46:48.245788Z","changedTime":"2021-01-28T23:59:09.7904517Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Quantum/Workspaces/canaryd0839697-f16d-4d35-944f-2dbc414cee56","name":"canaryd0839697-f16d-4d35-944f-2dbc414cee56","type":"Microsoft.Quantum/Workspaces","location":"eastus2euap","identity":{"principalId":"b368e577-8ae7-4480-8925-2889f6049d84","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-28T21:45:28.8522515Z","changedTime":"2021-01-29T01:56:04.2351911Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Quantum/Workspaces/canaryd24cc366-5ad2-4461-92bc-2e66b109624c","name":"canaryd24cc366-5ad2-4461-92bc-2e66b109624c","type":"Microsoft.Quantum/Workspaces","location":"eastus2euap","identity":{"principalId":"3831c6a4-4eac-4497-b2de-92d32f6158d9","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-29T05:40:52.8897622Z","changedTime":"2021-01-29T10:53:04.7676101Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Quantum/Workspaces/canaryd4ef335c-2174-4405-a7f7-c11411912bfc","name":"canaryd4ef335c-2174-4405-a7f7-c11411912bfc","type":"Microsoft.Quantum/Workspaces","location":"eastus2euap","identity":{"principalId":"3ef94107-8cba-4c3e-80a3-7576260237b1","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-29T10:23:49.3102367Z","changedTime":"2021-01-29T15:35:28.6535679Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Quantum/Workspaces/canaryd5eaa4e3-8c27-43b4-9be3-faa59104592b","name":"canaryd5eaa4e3-8c27-43b4-9be3-faa59104592b","type":"Microsoft.Quantum/Workspaces","location":"eastus2euap","identity":{"principalId":"a5a53daa-4f73-46b3-abfb-651b32d5f24b","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-28T14:35:43.5387958Z","changedTime":"2021-01-28T19:47:54.1839957Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Quantum/Workspaces/canaryd99c389a-d069-49dd-a047-21bcc67d9d34","name":"canaryd99c389a-d069-49dd-a047-21bcc67d9d34","type":"Microsoft.Quantum/Workspaces","location":"eastus2euap","identity":{"principalId":"46f17bce-8010-4cae-a12f-140042cc8054","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-29T17:28:47.4684551Z","changedTime":"2021-01-29T17:28:52.0061196Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Quantum/Workspaces/canaryd9c8ac45-0b00-4a5f-9958-e6ed5e336b81","name":"canaryd9c8ac45-0b00-4a5f-9958-e6ed5e336b81","type":"Microsoft.Quantum/Workspaces","location":"eastus2euap","identity":{"principalId":"21563041-d1a9-4e1a-b453-b17242f5228e","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-28T16:53:07.7086381Z","changedTime":"2021-01-28T22:04:50.4102676Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Quantum/Workspaces/canarydb32a923-379d-48e7-b083-c4762c990669","name":"canarydb32a923-379d-48e7-b083-c4762c990669","type":"Microsoft.Quantum/Workspaces","location":"eastus2euap","identity":{"principalId":"aa6970cf-ffb1-442b-82f4-573f32b11040","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-29T17:42:48.0446073Z","changedTime":"2021-01-29T17:42:51.3938828Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Quantum/Workspaces/canarydbbcdb52-d9a9-4bb1-b00b-8dd61cfdf589","name":"canarydbbcdb52-d9a9-4bb1-b00b-8dd61cfdf589","type":"Microsoft.Quantum/Workspaces","location":"eastus2euap","identity":{"principalId":"d4fe34c7-a162-4645-a9e5-7031baca5659","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-29T17:43:21.5920418Z","changedTime":"2021-01-29T17:43:40.9580179Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Quantum/Workspaces/canarydc7dcd63-ea5b-4369-8b38-2a518d64925d","name":"canarydc7dcd63-ea5b-4369-8b38-2a518d64925d","type":"Microsoft.Quantum/Workspaces","location":"eastus2euap","identity":{"principalId":"4e86d404-2de5-4c95-87e8-cf1c8deb26e8","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-28T21:49:12.9744777Z","changedTime":"2021-01-29T03:01:05.7002495Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Quantum/Workspaces/canaryde8b4a20-3951-4d01-9627-7c72b2e6e5f6","name":"canaryde8b4a20-3951-4d01-9627-7c72b2e6e5f6","type":"Microsoft.Quantum/Workspaces","location":"eastus2euap","identity":{"principalId":"1d525a1e-706b-43d3-abfc-3dfa858a6394","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-28T20:52:02.1412012Z","changedTime":"2021-01-29T02:03:40.2501017Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Quantum/Workspaces/canarye02ea702-cbcb-4c05-8975-d28fde7d1c5b","name":"canarye02ea702-cbcb-4c05-8975-d28fde7d1c5b","type":"Microsoft.Quantum/Workspaces","location":"eastus2euap","identity":{"principalId":"b475c646-7835-4ead-bae6-08b66c207aea","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-29T00:05:44.7742839Z","changedTime":"2021-01-29T04:15:48.8656632Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Quantum/Workspaces/canarye3adb346-5d66-4f09-90cb-0630c5ebc348","name":"canarye3adb346-5d66-4f09-90cb-0630c5ebc348","type":"Microsoft.Quantum/Workspaces","location":"eastus2euap","identity":{"principalId":"582ab3d8-1681-4e72-b382-35a16c42ec6b","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-29T14:56:40.8829575Z","changedTime":"2021-01-29T14:58:18.1509868Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Quantum/Workspaces/canarye587b357-ce79-4397-a57a-5f1ffda79ca3","name":"canarye587b357-ce79-4397-a57a-5f1ffda79ca3","type":"Microsoft.Quantum/Workspaces","location":"eastus2euap","identity":{"principalId":"383664c0-2001-42cb-bb3c-ae276e359776","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-29T17:44:04.9490184Z","changedTime":"2021-01-29T17:44:08.7829771Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Quantum/Workspaces/canarye8e6a1e3-b9c0-4646-940f-6ad241b8c204","name":"canarye8e6a1e3-b9c0-4646-940f-6ad241b8c204","type":"Microsoft.Quantum/Workspaces","location":"eastus2euap","identity":{"principalId":"bae70198-5d4e-4f6b-b054-df65bb6104a8","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-29T15:45:09.5755514Z","changedTime":"2021-01-29T15:47:04.8778126Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Quantum/Workspaces/canarye97bc2d2-4387-4aef-9256-4ec45c0ea4ec","name":"canarye97bc2d2-4387-4aef-9256-4ec45c0ea4ec","type":"Microsoft.Quantum/Workspaces","location":"eastus2euap","identity":{"principalId":"4e036dd3-20cd-4e22-8bda-5cce03a050f2","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-29T17:44:37.0081963Z","changedTime":"2021-01-29T17:44:40.8875743Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Quantum/Workspaces/canaryeb5f2520-0599-4228-a84d-012e791c0f6d","name":"canaryeb5f2520-0599-4228-a84d-012e791c0f6d","type":"Microsoft.Quantum/Workspaces","location":"eastus2euap","identity":{"principalId":"865afb1c-6a2b-4a69-9c53-6bbb4e88bccd","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-29T10:49:50.7173497Z","changedTime":"2021-01-29T16:01:41.1254289Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Quantum/Workspaces/canaryf3990a88-4ba8-42b4-a738-f3fd2ecb9e2a","name":"canaryf3990a88-4ba8-42b4-a738-f3fd2ecb9e2a","type":"Microsoft.Quantum/Workspaces","location":"eastus2euap","identity":{"principalId":"94415222-0605-432d-a002-8fd670186d01","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-29T12:43:53.9657222Z","changedTime":"2021-01-29T16:56:00.7812088Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Quantum/Workspaces/canaryfd5f5530-8e7c-44af-8233-79f06174208c","name":"canaryfd5f5530-8e7c-44af-8233-79f06174208c","type":"Microsoft.Quantum/Workspaces","location":"eastus2euap","identity":{"principalId":"7d2f76ef-58d5-4108-a4d4-1bca950b3e51","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-29T09:46:34.8053964Z","changedTime":"2021-01-29T14:58:57.4519158Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/microsoft.quantum/Workspaces/df9526cb-41ed-4301-a67c-f11b7d7eb5f3","name":"df9526cb-41ed-4301-a67c-f11b7d7eb5f3","type":"microsoft.quantum/Workspaces","location":"westus","createdTime":"2020-11-20T00:36:34.0734056Z","changedTime":"2020-11-20T05:46:36.2576072Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/microsoft.quantum/Workspaces/e07b59e6-3ad8-4dd0-96c1-2c27d64efec1","name":"e07b59e6-3ad8-4dd0-96c1-2c27d64efec1","type":"microsoft.quantum/Workspaces","location":"westus","createdTime":"2020-11-21T08:54:46.0849373Z","changedTime":"2020-11-21T13:04:49.9946275Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/microsoft.quantum/Workspaces/e216e9ce-b86b-4677-b873-988a2e28e684","name":"e216e9ce-b86b-4677-b873-988a2e28e684","type":"microsoft.quantum/Workspaces","location":"westus","createdTime":"2020-12-05T21:28:10.3078868Z","changedTime":"2020-12-06T01:38:13.1078183Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/microsoft.quantum/Workspaces/e24add65-975d-48b6-8fcf-2a5dbc777b59","name":"e24add65-975d-48b6-8fcf-2a5dbc777b59","type":"microsoft.quantum/Workspaces","location":"westus","createdTime":"2020-11-21T09:17:58.9167447Z","changedTime":"2020-11-21T13:28:01.9421566Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/microsoft.quantum/Workspaces/e4ca5d11-0bc1-4b0f-a940-9b0a98b3069b","name":"e4ca5d11-0bc1-4b0f-a940-9b0a98b3069b","type":"microsoft.quantum/Workspaces","location":"westus","createdTime":"2020-12-06T12:53:51.6211648Z","changedTime":"2020-12-06T17:03:53.4539397Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/microsoft.quantum/Workspaces/e51d20fa-f46f-4f5b-a1d6-b3f720a8236c","name":"e51d20fa-f46f-4f5b-a1d6-b3f720a8236c","type":"microsoft.quantum/Workspaces","location":"westus","createdTime":"2020-11-18T23:25:19.5484707Z","changedTime":"2020-11-19T03:35:22.4703367Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/microsoft.quantum/Workspaces/e71c6d89-cbcd-42ee-89bd-9ead53531e0f","name":"e71c6d89-cbcd-42ee-89bd-9ead53531e0f","type":"microsoft.quantum/Workspaces","location":"westus","createdTime":"2020-11-18T23:49:36.7767196Z","changedTime":"2020-11-19T03:59:39.8853333Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/microsoft.quantum/Workspaces/eb92d115-a5a8-4f9c-aa98-90b62cc0ffb6","name":"eb92d115-a5a8-4f9c-aa98-90b62cc0ffb6","type":"microsoft.quantum/Workspaces","location":"westus","createdTime":"2020-12-05T21:28:40.4355274Z","changedTime":"2020-12-06T01:38:43.6506674Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/microsoft.quantum/Workspaces/ec0fdc47-231d-4373-a719-58d8e564f2cd","name":"ec0fdc47-231d-4373-a719-58d8e564f2cd","type":"microsoft.quantum/Workspaces","location":"westus","createdTime":"2020-12-07T11:03:27.2075924Z","changedTime":"2020-12-07T15:13:28.6564662Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/microsoft.quantum/Workspaces/ec70a4d5-5d45-4d84-9c94-0c8ec195c7db","name":"ec70a4d5-5d45-4d84-9c94-0c8ec195c7db","type":"microsoft.quantum/Workspaces","location":"westus","createdTime":"2020-12-05T21:37:48.6351407Z","changedTime":"2020-12-06T01:47:51.366864Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/microsoft.quantum/Workspaces/ecce524f-e0f6-40ab-9c4c-10f3fa119f2f","name":"ecce524f-e0f6-40ab-9c4c-10f3fa119f2f","type":"microsoft.quantum/Workspaces","location":"westus","createdTime":"2020-11-18T22:53:40.1494691Z","changedTime":"2020-11-19T03:03:42.2019555Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/microsoft.quantum/Workspaces/ee6fe185-cff0-4c7b-a8c2-2942d0728a70","name":"ee6fe185-cff0-4c7b-a8c2-2942d0728a70","type":"microsoft.quantum/Workspaces","location":"westus","createdTime":"2020-11-25T17:58:42.4482863Z","changedTime":"2020-11-25T22:09:04.6299385Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/microsoft.quantum/Workspaces/f339d291-b8d8-42bb-94b1-5a949cfab182","name":"f339d291-b8d8-42bb-94b1-5a949cfab182","type":"microsoft.quantum/Workspaces","location":"westus","createdTime":"2020-11-18T23:14:06.8651812Z","changedTime":"2020-11-19T03:24:10.3187381Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/microsoft.quantum/Workspaces/f8ac50da-7c19-4f14-b109-31b02fa41a3f","name":"f8ac50da-7c19-4f14-b109-31b02fa41a3f","type":"microsoft.quantum/Workspaces","location":"westus","createdTime":"2020-12-06T03:33:18.6569865Z","changedTime":"2020-12-06T07:43:20.5825524Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/microsoft.quantum/Workspaces/f8cd0a4d-251b-4270-85ab-07fd6f4e5710","name":"f8cd0a4d-251b-4270-85ab-07fd6f4e5710","type":"microsoft.quantum/Workspaces","location":"westus","createdTime":"2020-12-06T01:55:48.1955443Z","changedTime":"2020-12-06T06:05:51.4057718Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/microsoft.quantum/Workspaces/f94fd145-94b0-4215-9c7c-87ea529fc403","name":"f94fd145-94b0-4215-9c7c-87ea529fc403","type":"microsoft.quantum/Workspaces","location":"westus","createdTime":"2020-11-19T00:08:08.0091068Z","changedTime":"2020-11-19T04:18:09.9291105Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/microsoft.quantum/Workspaces/fa4be2ce-1acf-47e2-939c-e03ca65881a3","name":"fa4be2ce-1acf-47e2-939c-e03ca65881a3","type":"microsoft.quantum/Workspaces","location":"westus","createdTime":"2020-11-25T07:13:51.4797491Z","changedTime":"2020-11-25T11:23:53.2894075Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/microsoft.quantum/Workspaces/fe10487e-d6eb-4083-969b-41e91f49be3a","name":"fe10487e-d6eb-4083-969b-41e91f49be3a","type":"microsoft.quantum/Workspaces","location":"westus","createdTime":"2020-11-22T20:19:27.5873629Z","changedTime":"2020-11-23T00:29:29.5279758Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/microsoft.quantum/Workspaces/ff4b5128-822b-4f12-ae4c-a718fe9690f5","name":"ff4b5128-822b-4f12-ae4c-a718fe9690f5","type":"microsoft.quantum/Workspaces","location":"westus","createdTime":"2020-11-21T06:14:26.2684187Z","changedTime":"2020-11-21T10:24:28.3347828Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Quantum/Workspaces/prod02a52579-ea5a-4ccb-91d3-8f957e68473e","name":"prod02a52579-ea5a-4ccb-91d3-8f957e68473e","type":"Microsoft.Quantum/Workspaces","location":"westcentralus","identity":{"principalId":"9ad2d005-9506-4432-b111-fa1a1c28b7bb","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-29T11:22:05.9380946Z","changedTime":"2021-01-29T16:33:52.9217422Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Quantum/Workspaces/prod02ec155b-3703-4db5-9b6b-29bc1d03c542","name":"prod02ec155b-3703-4db5-9b6b-29bc1d03c542","type":"Microsoft.Quantum/Workspaces","location":"westus","identity":{"principalId":"bc3451e0-aa21-4850-89eb-bb174257c824","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-29T17:40:01.8737412Z","changedTime":"2021-01-29T17:40:41.5803042Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Quantum/Workspaces/prod038339a0-508d-4bbb-a93c-57dfabddd43d","name":"prod038339a0-508d-4bbb-a93c-57dfabddd43d","type":"Microsoft.Quantum/Workspaces","location":"westcentralus","identity":{"principalId":"5c6112ee-1608-4d60-94ea-02a777d5d036","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-29T01:59:50.6897252Z","changedTime":"2021-01-29T07:12:05.7042606Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Quantum/Workspaces/prod0acb151e-a949-4b65-ae26-56623b312645","name":"prod0acb151e-a949-4b65-ae26-56623b312645","type":"Microsoft.Quantum/Workspaces","location":"westcentralus","identity":{"principalId":"d6711995-dd4c-4cdb-9fce-ae01c3770e53","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-29T04:29:38.2122612Z","changedTime":"2021-01-29T09:41:25.4330886Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Quantum/Workspaces/prod0c17213f-303d-4427-91a0-fd13ed5628c7","name":"prod0c17213f-303d-4427-91a0-fd13ed5628c7","type":"Microsoft.Quantum/Workspaces","location":"westus","identity":{"principalId":"251e49d0-3264-4f73-805e-2b78d25ee5d7","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-29T17:39:41.3590903Z","changedTime":"2021-01-29T17:40:05.0051989Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Quantum/Workspaces/prod0ee59600-bb83-483c-af4e-cc31a9a20277","name":"prod0ee59600-bb83-483c-af4e-cc31a9a20277","type":"Microsoft.Quantum/Workspaces","location":"westcentralus","identity":{"principalId":"9ef901ef-45ba-4525-a3c9-e528ed8a29e8","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-29T17:23:56.3048746Z","changedTime":"2021-01-29T17:25:57.5562702Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Quantum/Workspaces/prod16cc86ba-2ddf-436d-bf48-78a87405b2da","name":"prod16cc86ba-2ddf-436d-bf48-78a87405b2da","type":"Microsoft.Quantum/Workspaces","location":"westcentralus","identity":{"principalId":"57d12abc-b6b0-49e9-9bb2-96f3e96a86ce","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-29T08:43:01.0923349Z","changedTime":"2021-01-29T14:48:48.4217516Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Quantum/Workspaces/prod2233244b-5e57-4e7e-989b-54cd6249e97a","name":"prod2233244b-5e57-4e7e-989b-54cd6249e97a","type":"Microsoft.Quantum/Workspaces","location":"westcentralus","identity":{"principalId":"a9953e89-489c-41c1-9e63-cca613279bb1","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-29T12:11:09.887343Z","changedTime":"2021-01-29T17:22:59.9522126Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Quantum/Workspaces/prod22b6b5f8-86fc-45da-b822-5dec221b08d7","name":"prod22b6b5f8-86fc-45da-b822-5dec221b08d7","type":"Microsoft.Quantum/Workspaces","location":"westcentralus","identity":{"principalId":"3a486d69-3ed0-4257-ae2a-3ecf6fe43034","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-29T15:36:20.1543683Z","changedTime":"2021-01-29T15:38:02.2558541Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Quantum/Workspaces/prod2adc7034-fd72-4122-8c27-fe4ba8bfe9f8","name":"prod2adc7034-fd72-4122-8c27-fe4ba8bfe9f8","type":"Microsoft.Quantum/Workspaces","location":"westcentralus","identity":{"principalId":"8f95f55e-4bb7-4640-ac2c-be416050352d","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-29T17:28:02.7665388Z","changedTime":"2021-01-29T17:29:43.6514027Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Quantum/Workspaces/prod34929a5a-bb27-4464-9d0a-b34e1f5138dc","name":"prod34929a5a-bb27-4464-9d0a-b34e1f5138dc","type":"Microsoft.Quantum/Workspaces","location":"westcentralus","identity":{"principalId":"93701782-ff67-484b-aab5-b71d17a4d680","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-29T10:15:56.6019364Z","changedTime":"2021-01-29T15:28:15.4219231Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Quantum/Workspaces/prod381189de-b707-4ee4-9a64-260b6db15dd9","name":"prod381189de-b707-4ee4-9a64-260b6db15dd9","type":"Microsoft.Quantum/Workspaces","location":"westus","identity":{"principalId":"c74ade67-7dc1-44ce-8b27-03b9e2c76272","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-28T21:36:37.8093324Z","changedTime":"2021-01-29T01:46:41.181701Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Quantum/Workspaces/prod3e09a28d-2f8d-40eb-ad7d-ac38b77fb8de","name":"prod3e09a28d-2f8d-40eb-ad7d-ac38b77fb8de","type":"Microsoft.Quantum/Workspaces","location":"westcentralus","identity":{"principalId":"6f7eb44e-915f-49ba-88ff-bbde325eb739","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-29T09:32:36.128519Z","changedTime":"2021-01-29T14:44:27.5199628Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Quantum/Workspaces/prod3ffa8ebb-ad17-4cf1-8108-309348a7b82b","name":"prod3ffa8ebb-ad17-4cf1-8108-309348a7b82b","type":"Microsoft.Quantum/Workspaces","location":"westcentralus","identity":{"principalId":"27fef7fe-e8e1-416e-a6c2-e8ce1eab8f36","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-29T07:49:26.3825157Z","changedTime":"2021-01-29T13:01:17.5108583Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Quantum/Workspaces/prod4e7af149-4c5c-4821-b6d2-c8d70bdb7dfd","name":"prod4e7af149-4c5c-4821-b6d2-c8d70bdb7dfd","type":"Microsoft.Quantum/Workspaces","location":"westcentralus","identity":{"principalId":"2296f1ae-e4d7-4775-9e0d-9b9b450edc7d","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-28T21:06:50.3463154Z","changedTime":"2021-01-29T01:46:10.0403525Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Quantum/Workspaces/prod4e88d359-fb24-4f87-93eb-5a3f99e53af8","name":"prod4e88d359-fb24-4f87-93eb-5a3f99e53af8","type":"Microsoft.Quantum/Workspaces","location":"westcentralus","identity":{"principalId":"210b1451-a11b-44c7-94f9-c1eba996ba6d","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-29T15:01:34.1937121Z","changedTime":"2021-01-29T15:03:15.5601652Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Quantum/Workspaces/prod512668df-e136-4c0f-b96a-cfd313a3b371","name":"prod512668df-e136-4c0f-b96a-cfd313a3b371","type":"Microsoft.Quantum/Workspaces","location":"westeurope","identity":{"principalId":"890eca48-bcbe-47bb-b0fb-29f8b2d7f576","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-28T19:43:06.0274009Z","changedTime":"2021-01-28T23:53:16.3908287Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Quantum/Workspaces/prod5bc378bf-fc10-4199-bbea-f92059ed19d2","name":"prod5bc378bf-fc10-4199-bbea-f92059ed19d2","type":"Microsoft.Quantum/Workspaces","location":"westcentralus","identity":{"principalId":"c7dc611d-1ffb-4b85-8fc9-d22b3fdbc4e6","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-29T10:57:50.3885712Z","changedTime":"2021-01-29T16:10:10.6548045Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Quantum/Workspaces/prod60ff629a-6e3e-4f86-ba1f-c9acb6a60529","name":"prod60ff629a-6e3e-4f86-ba1f-c9acb6a60529","type":"Microsoft.Quantum/Workspaces","location":"westcentralus","identity":{"principalId":"31c24327-1ab6-4e26-863a-2a2020339aaf","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-29T07:27:46.5946896Z","changedTime":"2021-01-29T12:39:27.4018636Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Quantum/Workspaces/prod633237b0-ab44-4849-8d7e-99281cd47d9e","name":"prod633237b0-ab44-4849-8d7e-99281cd47d9e","type":"Microsoft.Quantum/Workspaces","location":"westcentralus","identity":{"principalId":"edfc3a65-5d76-4ba1-9d06-6f0efa149150","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-28T20:42:58.9387858Z","changedTime":"2021-01-29T01:54:49.2362066Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Quantum/Workspaces/prod66131c88-1945-417e-91eb-160e669a77b4","name":"prod66131c88-1945-417e-91eb-160e669a77b4","type":"Microsoft.Quantum/Workspaces","location":"westcentralus","identity":{"principalId":"808d7002-e528-4ef5-b297-820550cbf523","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-28T19:22:13.8744623Z","changedTime":"2021-01-28T23:43:51.6126974Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Quantum/Workspaces/prod66739747-48bf-41b1-a0ad-c66a06d6a05f","name":"prod66739747-48bf-41b1-a0ad-c66a06d6a05f","type":"Microsoft.Quantum/Workspaces","location":"westcentralus","identity":{"principalId":"5f09964f-6531-4cb0-a170-5243a7e6e26e","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-28T21:53:37.8030375Z","changedTime":"2021-01-29T03:05:23.8770924Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Quantum/Workspaces/prod708d4b43-4e17-4a43-b80c-70d08d58cf6e","name":"prod708d4b43-4e17-4a43-b80c-70d08d58cf6e","type":"Microsoft.Quantum/Workspaces","location":"westcentralus","identity":{"principalId":"aa0dac04-20d4-4091-9773-f34c3244635b","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-29T02:48:51.7620062Z","changedTime":"2021-01-29T08:01:12.0964525Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Quantum/Workspaces/prod788cc52a-4862-44ee-90a5-b02b9be59be5","name":"prod788cc52a-4862-44ee-90a5-b02b9be59be5","type":"Microsoft.Quantum/Workspaces","location":"westus2","identity":{"principalId":"c1696d38-35a2-4634-87fd-fda5f877698d","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-29T17:39:43.1511287Z","changedTime":"2021-01-29T17:40:05.9729942Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Quantum/Workspaces/prod7994bff1-c9ea-47d4-8935-5f34a78a6860","name":"prod7994bff1-c9ea-47d4-8935-5f34a78a6860","type":"Microsoft.Quantum/Workspaces","location":"westcentralus","identity":{"principalId":"b92129a0-80eb-4832-80a4-54708f6d7773","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-29T06:25:28.4930389Z","changedTime":"2021-01-29T11:37:07.4730404Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Quantum/Workspaces/prod7c1f796e-4db9-4c5d-87de-4199892be35d","name":"prod7c1f796e-4db9-4c5d-87de-4199892be35d","type":"Microsoft.Quantum/Workspaces","location":"westcentralus","identity":{"principalId":"04f88717-2d2b-4c27-bc05-f67642290d69","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-29T14:46:41.846846Z","changedTime":"2021-01-29T14:48:38.5913558Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Quantum/Workspaces/prod80e4f981-92b8-4944-b188-3f95f63073f8","name":"prod80e4f981-92b8-4944-b188-3f95f63073f8","type":"Microsoft.Quantum/Workspaces","location":"westcentralus","identity":{"principalId":"95e84edd-8ef2-4955-bfc2-4cb415d598ce","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-29T09:25:55.440352Z","changedTime":"2021-01-29T14:38:20.9897472Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Quantum/Workspaces/prod82870fd7-ca50-4960-9b97-b0b5a48681e6","name":"prod82870fd7-ca50-4960-9b97-b0b5a48681e6","type":"Microsoft.Quantum/Workspaces","location":"westcentralus","identity":{"principalId":"e57d91c6-8cfe-4f6a-bf60-c56383dc5b92","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-29T14:39:24.7625105Z","changedTime":"2021-01-29T14:41:19.4055564Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Quantum/Workspaces/prod8a2a655a-97c9-4f4c-aad2-49505e4c39f2","name":"prod8a2a655a-97c9-4f4c-aad2-49505e4c39f2","type":"Microsoft.Quantum/Workspaces","location":"westcentralus","identity":{"principalId":"3a36b361-2992-462d-a4ac-26de210178b6","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-29T02:41:03.4737026Z","changedTime":"2021-01-29T07:52:55.8304737Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Quantum/Workspaces/prod916df886-8424-4a61-a49e-6f9eb5387401","name":"prod916df886-8424-4a61-a49e-6f9eb5387401","type":"Microsoft.Quantum/Workspaces","location":"westcentralus","identity":{"principalId":"dd2e12c2-6d72-4dc4-bd7f-75c733d05101","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-29T07:41:39.6764415Z","changedTime":"2021-01-29T12:53:29.8632737Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Quantum/Workspaces/prod97efc474-66a4-4f42-b192-1963364bdf18","name":"prod97efc474-66a4-4f42-b192-1963364bdf18","type":"Microsoft.Quantum/Workspaces","location":"westcentralus","identity":{"principalId":"16330a0d-b0cb-4ff1-8572-8366e6dd05fa","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-29T17:40:46.7954858Z","changedTime":"2021-01-29T17:41:10.2515382Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Quantum/Workspaces/prod9916128b-b440-4dfb-80dd-99aeb1616fa6","name":"prod9916128b-b440-4dfb-80dd-99aeb1616fa6","type":"Microsoft.Quantum/Workspaces","location":"westcentralus","identity":{"principalId":"a960f18d-50b1-4178-bc6f-acc1f45c1ef6","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-29T12:41:28.4635669Z","changedTime":"2021-01-29T17:27:19.1107748Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Quantum/Workspaces/prod9d17b536-18fd-4e5d-a2c6-77e747d465d0","name":"prod9d17b536-18fd-4e5d-a2c6-77e747d465d0","type":"Microsoft.Quantum/Workspaces","location":"westcentralus","identity":{"principalId":"9ab14daf-bd4a-4955-8fb2-facb3ed864dc","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-29T17:42:50.2656846Z","changedTime":"2021-01-29T17:43:12.9717362Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Quantum/Workspaces/prodacae7962-1f8a-45c5-acbf-ccb212d6f415","name":"prodacae7962-1f8a-45c5-acbf-ccb212d6f415","type":"Microsoft.Quantum/Workspaces","location":"westcentralus","identity":{"principalId":"7d5d8d77-8570-43e2-b479-34231a4d58dd","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-28T21:18:18.9005516Z","changedTime":"2021-01-29T02:30:06.9631793Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Quantum/Workspaces/prodadb5a079-e548-45eb-8f18-866ef07ea481","name":"prodadb5a079-e548-45eb-8f18-866ef07ea481","type":"Microsoft.Quantum/Workspaces","location":"westcentralus","identity":{"principalId":"2f3867f0-0eb5-45f7-838f-60158f12d84e","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-29T10:07:51.9205699Z","changedTime":"2021-01-29T15:20:13.4592594Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Quantum/Workspaces/prodb24da94d-b106-4248-ab45-372e9c746ca3","name":"prodb24da94d-b106-4248-ab45-372e9c746ca3","type":"Microsoft.Quantum/Workspaces","location":"westcentralus","identity":{"principalId":"afe566bb-7899-43d7-8bba-46dbce9199a5","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-28T23:30:09.0432507Z","changedTime":"2021-01-29T03:40:16.9353137Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Quantum/Workspaces/prodb9c0216b-3ab0-4cc7-9f59-d492004559a7","name":"prodb9c0216b-3ab0-4cc7-9f59-d492004559a7","type":"Microsoft.Quantum/Workspaces","location":"westcentralus","identity":{"principalId":"e1741688-7b3d-4dd6-904b-80ac2ae1e934","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-29T12:59:44.6762246Z","changedTime":"2021-01-29T17:11:52.0199466Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Quantum/Workspaces/prodd1179dfb-d37a-4699-aaf4-9445e9b69d42","name":"prodd1179dfb-d37a-4699-aaf4-9445e9b69d42","type":"Microsoft.Quantum/Workspaces","location":"westcentralus","identity":{"principalId":"5d2840db-d312-413b-874d-4175545c650a","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-29T01:38:14.2105869Z","changedTime":"2021-01-29T06:50:01.9805716Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Quantum/Workspaces/prodd135512f-d8b7-4dcb-90ea-e2a9c454cf8e","name":"prodd135512f-d8b7-4dcb-90ea-e2a9c454cf8e","type":"Microsoft.Quantum/Workspaces","location":"westcentralus","identity":{"principalId":"6e0c53da-7063-4d61-917c-ef4410a5f6bd","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-29T03:52:00.9776894Z","changedTime":"2021-01-29T09:04:14.8259423Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Quantum/Workspaces/proddc7112cd-f5f7-4997-85f7-938f697a209f","name":"proddc7112cd-f5f7-4997-85f7-938f697a209f","type":"Microsoft.Quantum/Workspaces","location":"westcentralus","identity":{"principalId":"54b14f94-3151-4428-8740-4a373b510fbe","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-29T15:58:00.2967336Z","changedTime":"2021-01-29T15:59:40.6144791Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Quantum/Workspaces/prode778b0dd-9e81-4876-baee-8b04dd00241f","name":"prode778b0dd-9e81-4876-baee-8b04dd00241f","type":"Microsoft.Quantum/Workspaces","location":"westcentralus","identity":{"principalId":"b7fa15a2-3a64-455a-8200-a15e541d4473","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-29T14:03:23.2432921Z","changedTime":"2021-01-29T14:05:03.2451306Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Quantum/Workspaces/prode7b0d3d0-1a1e-4c9d-8989-f4dfb8dbbfd7","name":"prode7b0d3d0-1a1e-4c9d-8989-f4dfb8dbbfd7","type":"Microsoft.Quantum/Workspaces","location":"westcentralus","identity":{"principalId":"652973d1-6d68-484d-ae3c-c1c48f3945ed","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-29T07:00:16.0954301Z","changedTime":"2021-01-29T12:12:01.8167971Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Quantum/Workspaces/prodeae932bf-bdbf-43d9-a3eb-c9a9458440cf","name":"prodeae932bf-bdbf-43d9-a3eb-c9a9458440cf","type":"Microsoft.Quantum/Workspaces","location":"westcentralus","identity":{"principalId":"e6e7fa0c-e892-4277-bf9e-cb383e9fcc5a","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-29T05:44:43.2307153Z","changedTime":"2021-01-29T10:56:33.5983392Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Quantum/Workspaces/prodf3eb4976-39aa-4ccb-8875-159db7aecd9a","name":"prodf3eb4976-39aa-4ccb-8875-159db7aecd9a","type":"Microsoft.Quantum/Workspaces","location":"westcentralus","identity":{"principalId":"c0a03718-5e0f-4ce4-84f6-4e872750b1bc","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-29T10:06:19.6711909Z","changedTime":"2021-01-29T15:18:11.1325441Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Quantum/Workspaces/prodf7bc89b8-d834-4b7a-b7c4-6776e79b4250","name":"prodf7bc89b8-d834-4b7a-b7c4-6776e79b4250","type":"Microsoft.Quantum/Workspaces","location":"westcentralus","identity":{"principalId":"bcb06cd5-4f9a-4c91-9668-97ce9b089fb5","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-29T09:31:01.0247684Z","changedTime":"2021-01-29T14:43:17.0068653Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Quantum/Workspaces/prodf8c40f0a-811a-4713-bfba-459803e28478","name":"prodf8c40f0a-811a-4713-bfba-459803e28478","type":"Microsoft.Quantum/Workspaces","location":"westcentralus","identity":{"principalId":"91714db3-2c54-4de6-b8c6-408b036cdb40","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-29T15:06:04.9219068Z","changedTime":"2021-01-29T15:08:18.5375405Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Quantum/Workspaces/prodfab779bd-59c8-4777-8ebc-15c8b47016b4","name":"prodfab779bd-59c8-4777-8ebc-15c8b47016b4","type":"Microsoft.Quantum/Workspaces","location":"westcentralus","identity":{"principalId":"599984b1-b305-4dcb-800d-64fc6c767482","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-29T16:49:55.4682343Z","changedTime":"2021-01-29T16:50:03.1950469Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Quantum/Workspaces/prodfda37393-59ca-4e6d-97cb-e913c8928043","name":"prodfda37393-59ca-4e6d-97cb-e913c8928043","type":"Microsoft.Quantum/Workspaces","location":"westcentralus","identity":{"principalId":"25ad4efa-578e-4123-9d45-d4193b8eeced","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-28T22:42:09.2995771Z","changedTime":"2021-01-29T03:53:56.0459521Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Quantum/Workspaces/test-1qbit2dfa6f31-c879-49cb-9b53-06dc65f52cb3","name":"test-1qbit2dfa6f31-c879-49cb-9b53-06dc65f52cb3","type":"Microsoft.Quantum/Workspaces","location":"eastus2euap","identity":{"principalId":"1e71dd41-a9c7-4a4f-b22f-6f4966d4672e","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-27T19:49:31.0622991Z","changedTime":"2021-01-27T23:59:35.6430885Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/microsoft.quantum/Workspaces/testworkspace","name":"testworkspace","type":"microsoft.quantum/Workspaces","location":"westus","createdTime":"2020-04-03T20:01:33.0760938Z","changedTime":"2020-04-03T20:11:37.1050748Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Quantum/Workspaces/validator-detachedstorageaccount-qio-initconfig-eastus2euapfd5845c5-3114-4b84-a99a-2f0af22651b2","name":"validator-detachedstorageaccount-qio-initconfig-eastus2euapfd5845c5-3114-4b84-a99a-2f0af22651b2","type":"Microsoft.Quantum/Workspaces","location":"eastus2euap","identity":{"principalId":"12ac94d6-d6af-4258-a306-81d5bb6f4b52","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-26T08:36:19.9988311Z","changedTime":"2021-01-26T12:46:53.272148Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Quantum/Workspaces/validator-detachedstorageaccount-qio-initconfig-eastus2euap230edd58-821e-4f41-b2e5-72212505538a","name":"validator-detachedstorageaccount-qio-initconfig-eastus2euap230edd58-821e-4f41-b2e5-72212505538a","type":"Microsoft.Quantum/Workspaces","location":"eastus2euap","identity":{"principalId":"8bb5e31a-a11e-4c33-b24a-f2237a4d2849","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-25T05:22:24.0357852Z","changedTime":"2021-01-25T18:30:32.7500006Z","provisioningState":"Succeeded","systemData":{"createdBy":"558e0fd6-c894-4dbc-a2e6-fafb22f72853","createdByType":"Application","createdAt":"2021-01-25T04:24:21.1491178Z","lastModifiedBy":"a77d91dc-971b-4cf7-90c8-f183194249bc","lastModifiedByType":"Application","lastModifiedAt":"2021-01-25T18:20:32.106641Z"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Quantum/Workspaces/validator-detachedstorageaccount-qio-initconfig-eastus2euapcfd5466a-9fce-4051-9e3b-d7e9e622a4b3","name":"validator-detachedstorageaccount-qio-initconfig-eastus2euapcfd5466a-9fce-4051-9e3b-d7e9e622a4b3","type":"Microsoft.Quantum/Workspaces","location":"eastus2euap","identity":{"principalId":"823b7ffa-0a19-4fe0-94b1-1658b6b1a059","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-25T18:07:50.8423295Z","changedTime":"2021-01-25T22:17:55.3562286Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Quantum/Workspaces/validator-qio-initconfig-eastus2euap06cef645-34c8-46c6-8b18-40b714e8c680","name":"validator-qio-initconfig-eastus2euap06cef645-34c8-46c6-8b18-40b714e8c680","type":"Microsoft.Quantum/Workspaces","location":"eastus2euap","identity":{"principalId":"3b550d64-4c77-4cd6-8ce5-9f2e57ba85e4","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-14T21:42:57.7764484Z","changedTime":"2021-01-27T19:58:53.6610464Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Quantum/Workspaces/validator-qio-initconfig-eastus2euap1379a39a-135c-4137-acbc-3fb3abb5fc20","name":"validator-qio-initconfig-eastus2euap1379a39a-135c-4137-acbc-3fb3abb5fc20","type":"Microsoft.Quantum/Workspaces","location":"eastus2euap","identity":{"principalId":"d110b4cd-eaa3-476a-aa43-c70b92e8f2ed","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-14T23:57:46.9865945Z","changedTime":"2021-01-15T04:07:53.0344927Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Quantum/Workspaces/validator-qio-initconfig-eastus2euap6c0e91d2-ab65-439e-a1cb-e8117f46de78","name":"validator-qio-initconfig-eastus2euap6c0e91d2-ab65-439e-a1cb-e8117f46de78","type":"Microsoft.Quantum/Workspaces","location":"eastus2euap","identity":{"principalId":"eda3ce54-f95e-43b2-bc56-8d54f02abf10","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-14T23:44:30.9823797Z","changedTime":"2021-01-15T03:54:35.773397Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Quantum/Workspaces/validator-qio-initconfig-eastus2euap7a42c404-67bc-4b57-bb3f-7654ed875568","name":"validator-qio-initconfig-eastus2euap7a42c404-67bc-4b57-bb3f-7654ed875568","type":"Microsoft.Quantum/Workspaces","location":"eastus2euap","identity":{"principalId":"c1aa15af-2b84-4a51-bea3-8fe8c40bfb00","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-14T21:05:37.8034442Z","changedTime":"2021-01-15T01:15:42.3217102Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Quantum/Workspaces/validator-qio-initconfig-eastus2euap8e71091c-2e4f-4502-a972-7560984b509d","name":"validator-qio-initconfig-eastus2euap8e71091c-2e4f-4502-a972-7560984b509d","type":"Microsoft.Quantum/Workspaces","location":"eastus2euap","identity":{"principalId":"ab07e3d6-b12e-41a6-967f-e7b42c30876b","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-19T21:19:01.4580281Z","changedTime":"2021-01-20T01:29:06.1792012Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Quantum/Workspaces/validator-qio-initconfig-eastus2euap9114a829-8a02-4c1a-89ab-99dd52758963","name":"validator-qio-initconfig-eastus2euap9114a829-8a02-4c1a-89ab-99dd52758963","type":"Microsoft.Quantum/Workspaces","location":"eastus2euap","identity":{"principalId":"8d86cb29-1ded-4b79-9605-10e22ebd79e5","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-15T19:37:55.0992849Z","changedTime":"2021-01-15T23:48:00.7776841Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Quantum/Workspaces/validator-qio-initconfig-eastus2euap9356d2d9-8379-4118-8cbe-d7cac1e84c2d","name":"validator-qio-initconfig-eastus2euap9356d2d9-8379-4118-8cbe-d7cac1e84c2d","type":"Microsoft.Quantum/Workspaces","location":"eastus2euap","identity":{"principalId":"9efba319-fa67-4b39-afff-f3dda4ac2ff7","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-14T20:16:42.9643948Z","changedTime":"2021-01-15T00:26:56.2422091Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Quantum/Workspaces/validator-qio-initconfig-eastus2euapa224c79c-4c82-4ca1-b4fe-74bcfa79d01f","name":"validator-qio-initconfig-eastus2euapa224c79c-4c82-4ca1-b4fe-74bcfa79d01f","type":"Microsoft.Quantum/Workspaces","location":"eastus2euap","identity":{"principalId":"06f3e7f1-19eb-4636-9d28-d3e3056862b4","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-28T13:54:48.1019338Z","changedTime":"2021-01-28T18:04:53.6015631Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Quantum/Workspaces/validator-qio-initconfig-eastus2euapa8a19536-80f3-447e-8604-7c9d93abb4a0","name":"validator-qio-initconfig-eastus2euapa8a19536-80f3-447e-8604-7c9d93abb4a0","type":"Microsoft.Quantum/Workspaces","location":"eastus2euap","identity":{"principalId":"6625440f-a8d4-4c9e-a4ca-06b13785c9ab","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-14T22:09:31.0230709Z","changedTime":"2021-01-15T02:21:13.2491041Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Quantum/Workspaces/validator-qio-initconfig-eastus2euapabd254a1-5b36-470d-b1ac-a871dd6cf3df","name":"validator-qio-initconfig-eastus2euapabd254a1-5b36-470d-b1ac-a871dd6cf3df","type":"Microsoft.Quantum/Workspaces","location":"eastus2euap","identity":{"principalId":"c35079f1-0ece-4a33-9493-2596610402d4","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-14T21:24:12.6194087Z","changedTime":"2021-01-15T01:35:54.5962791Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Quantum/Workspaces/validator-qio-initconfig-eastus2euapad65a056-b09a-4bd0-a642-394645db714f","name":"validator-qio-initconfig-eastus2euapad65a056-b09a-4bd0-a642-394645db714f","type":"Microsoft.Quantum/Workspaces","location":"eastus2euap","identity":{"principalId":"7a4fcfd9-cbdf-4943-8367-329f1aeddba9","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-14T21:35:28.6046506Z","changedTime":"2021-01-15T01:47:26.9153085Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Quantum/Workspaces/validator-qio-initconfig-eastus2euapb7e61e97-a3b7-44dc-8db7-807d6ec6edf6","name":"validator-qio-initconfig-eastus2euapb7e61e97-a3b7-44dc-8db7-807d6ec6edf6","type":"Microsoft.Quantum/Workspaces","location":"eastus2euap","identity":{"principalId":"39ba98b0-2e6c-411b-9734-c3240878dd02","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-15T00:39:35.0657734Z","changedTime":"2021-01-15T05:50:39.6510118Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Quantum/Workspaces/validator-qio-initconfig-eastus2euapd6fbfe63-67c9-4178-b393-39a4e5844377","name":"validator-qio-initconfig-eastus2euapd6fbfe63-67c9-4178-b393-39a4e5844377","type":"Microsoft.Quantum/Workspaces","location":"eastus2euap","identity":{"principalId":"fc4d0a77-37ba-4f0f-a272-f3e1615c6522","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-25T04:26:18.4142886Z","changedTime":"2021-01-25T18:36:16.6521384Z","provisioningState":"Succeeded","systemData":{"createdBy":"558e0fd6-c894-4dbc-a2e6-fafb22f72853","createdByType":"Application","createdAt":"2021-01-25T04:26:19.5033836Z","lastModifiedBy":"a77d91dc-971b-4cf7-90c8-f183194249bc","lastModifiedByType":"Application","lastModifiedAt":"2021-01-25T18:26:15.4303781Z"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Quantum/Workspaces/validator-qio-initconfig-eastus2euape04714d7-dd6e-400c-a94b-5157c7520f3c","name":"validator-qio-initconfig-eastus2euape04714d7-dd6e-400c-a94b-5157c7520f3c","type":"Microsoft.Quantum/Workspaces","location":"eastus2euap","identity":{"principalId":"1265fdb7-70b9-4a08-b9f7-9f11a069cc24","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-14T21:27:30.4476996Z","changedTime":"2021-01-15T01:39:11.2515408Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Quantum/Workspaces/validator-qio-initconfig-westus11988f34-50c9-4e88-8090-c09461aec85b","name":"validator-qio-initconfig-westus11988f34-50c9-4e88-8090-c09461aec85b","type":"Microsoft.Quantum/Workspaces","location":"westus","identity":{"principalId":"58ba40d2-53f4-4990-a325-6f523b51d0d2","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-25T09:06:59.9841643Z","changedTime":"2021-01-25T13:17:05.7790399Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Quantum/Workspaces/validator-qio-initconfig-westus5414c5ac-e29b-4024-8ccf-2304fba1af6a","name":"validator-qio-initconfig-westus5414c5ac-e29b-4024-8ccf-2304fba1af6a","type":"Microsoft.Quantum/Workspaces","location":"westus","identity":{"principalId":"34f73ecd-f9b1-41c1-86ef-54abe6799c40","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-28T18:51:19.5475016Z","changedTime":"2021-01-28T23:01:26.3652992Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/microsoft.quantum/Workspaces/validator-qio-initconfig-westuscef264df-53f3-4d19-b071-0166333a2ea8","name":"validator-qio-initconfig-westuscef264df-53f3-4d19-b071-0166333a2ea8","type":"microsoft.quantum/Workspaces","location":"westus","createdTime":"2021-01-22T23:58:13.9685716Z","changedTime":"2021-01-23T04:08:15.9914897Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/microsoft.quantum/Workspaces/validator-qio-p2-eastus2euap","name":"validator-qio-p2-eastus2euap","type":"microsoft.quantum/Workspaces","location":"eastus2euap","createdTime":"2020-09-15T20:57:56.3328095Z","changedTime":"2020-11-19T01:38:47.2641075Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/microsoft.quantum/Workspaces/validator-qio-parallel-tempering-cpu-eastus2euap","name":"validator-qio-parallel-tempering-cpu-eastus2euap","type":"microsoft.quantum/Workspaces","location":"eastus2euap","createdTime":"2020-12-15T18:13:56.1805607Z","changedTime":"2020-12-15T22:24:22.7610421Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Quantum/Workspaces/validator-qio-parallel-tempering-cpu-eastus2euap231bdda2-11b1-4db1-a636-bf6cdb669084","name":"validator-qio-parallel-tempering-cpu-eastus2euap231bdda2-11b1-4db1-a636-bf6cdb669084","type":"Microsoft.Quantum/Workspaces","location":"eastus2euap","identity":{"principalId":"015484cb-f366-40b2-bb10-a255a304cf96","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-25T04:29:08.1226758Z","changedTime":"2021-01-25T18:32:21.5218888Z","provisioningState":"Succeeded","systemData":{"createdBy":"558e0fd6-c894-4dbc-a2e6-fafb22f72853","createdByType":"Application","createdAt":"2021-01-25T04:29:09.2245151Z","lastModifiedBy":"a77d91dc-971b-4cf7-90c8-f183194249bc","lastModifiedByType":"Application","lastModifiedAt":"2021-01-25T18:22:20.3810778Z"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Quantum/Workspaces/validator-qio-parallel-tempering-cpu-eastus2euapd2616c93-94d9-4427-bd67-6b467cf43711","name":"validator-qio-parallel-tempering-cpu-eastus2euapd2616c93-94d9-4427-bd67-6b467cf43711","type":"Microsoft.Quantum/Workspaces","location":"eastus2euap","identity":{"principalId":"d2762ea8-df1a-4ab0-939b-e78a21738309","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-26T06:16:32.5966004Z","changedTime":"2021-01-26T10:27:09.8094151Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/microsoft.quantum/Workspaces/validator-qio-parallel-tempering-cpu-eastus2euape8b9853a-77b7-4b6c-b428-e366e0ee6b59","name":"validator-qio-parallel-tempering-cpu-eastus2euape8b9853a-77b7-4b6c-b428-e366e0ee6b59","type":"microsoft.quantum/Workspaces","location":"eastus2euap","createdTime":"2020-12-22T12:18:17.1209621Z","changedTime":"2020-12-22T17:11:00.0201088Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/microsoft.quantum/Workspaces/validator-qio-parallel-tempering-cpu-westusb7414fde-2fca-42b5-b0d4-65f879903a43","name":"validator-qio-parallel-tempering-cpu-westusb7414fde-2fca-42b5-b0d4-65f879903a43","type":"microsoft.quantum/Workspaces","location":"westus","createdTime":"2021-01-22T23:58:13.9682428Z","changedTime":"2021-01-23T04:08:15.5520386Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/microsoft.quantum/Workspaces/validator-qio-parallel-tempering-cpu-westusca4734bc-b065-444f-8575-77d86d50f723","name":"validator-qio-parallel-tempering-cpu-westusca4734bc-b065-444f-8575-77d86d50f723","type":"microsoft.quantum/Workspaces","location":"westus","createdTime":"2020-12-15T00:05:08.8320177Z","changedTime":"2020-12-15T04:15:12.4812438Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Quantum/Workspaces/validator-qio-parallel-tempering-parameterfree-cpu-eastus2euap1102e689-0d28-404d-80fb-a95e12f5fe35","name":"validator-qio-parallel-tempering-parameterfree-cpu-eastus2euap1102e689-0d28-404d-80fb-a95e12f5fe35","type":"Microsoft.Quantum/Workspaces","location":"eastus2euap","identity":{"principalId":"0ec71d53-48d3-4881-b680-34d69a902a75","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-22T23:51:21.0279442Z","changedTime":"2021-01-23T04:01:26.1128765Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Quantum/Workspaces/validator-qio-parallel-tempering-parameterfree-cpu-eastus2euap6bda684e-b7f4-4446-9952-3b637732dc8b","name":"validator-qio-parallel-tempering-parameterfree-cpu-eastus2euap6bda684e-b7f4-4446-9952-3b637732dc8b","type":"Microsoft.Quantum/Workspaces","location":"eastus2euap","identity":{"principalId":"5045daf3-cea8-4e2a-8880-97e4b77d7d25","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-26T19:02:57.4047033Z","changedTime":"2021-01-27T00:16:21.3492106Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Quantum/Workspaces/validator-qio-parallel-tempering-parameterfree-cpu-westcentralus58556faa-1479-4d18-a545-794633211ef3","name":"validator-qio-parallel-tempering-parameterfree-cpu-westcentralus58556faa-1479-4d18-a545-794633211ef3","type":"Microsoft.Quantum/Workspaces","location":"westcentralus","identity":{"principalId":"5103ad18-09cd-4e64-8244-b572ba4682b4","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-27T01:36:42.5547679Z","changedTime":"2021-01-27T03:09:44.7440807Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Quantum/Workspaces/validator-qio-parallel-tempering-parameterfree-cpu-westus6489d9b9-50a6-4bcb-a559-091be5339e31","name":"validator-qio-parallel-tempering-parameterfree-cpu-westus6489d9b9-50a6-4bcb-a559-091be5339e31","type":"Microsoft.Quantum/Workspaces","location":"westus","identity":{"principalId":"a6ec8eb0-e7ab-412a-bf0e-9ca229a923bc","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-25T08:50:38.1264256Z","changedTime":"2021-01-25T13:00:43.4919704Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Quantum/Workspaces/validator-qio-parallel-tempering-parameterfree-cpu-westusdc3ad10b-7a8e-45b6-9ba3-f73ba9e88dc3","name":"validator-qio-parallel-tempering-parameterfree-cpu-westusdc3ad10b-7a8e-45b6-9ba3-f73ba9e88dc3","type":"Microsoft.Quantum/Workspaces","location":"westus","identity":{"principalId":"7eff61f0-f8d2-45e9-96e2-09e02c064f69","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-25T08:58:03.5038924Z","changedTime":"2021-01-25T13:08:07.0410048Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/microsoft.quantum/Workspaces/validator-qio-parallel-tempering-parameterfree-cpu-westeurope0ee9b3e0-963a-4dde-8cee-1122ab53ddf7","name":"validator-qio-parallel-tempering-parameterfree-cpu-westeurope0ee9b3e0-963a-4dde-8cee-1122ab53ddf7","type":"microsoft.quantum/Workspaces","location":"westeurope","createdTime":"2021-01-22T23:58:16.6963667Z","changedTime":"2021-01-23T04:08:24.8809718Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Quantum/Workspaces/validator-qio-parallel-tempering-parameterfree-cpu-westusb9dd3840-dfcc-4adf-8858-406045cc6ab6","name":"validator-qio-parallel-tempering-parameterfree-cpu-westusb9dd3840-dfcc-4adf-8858-406045cc6ab6","type":"Microsoft.Quantum/Workspaces","location":"westus","identity":{"principalId":"6c7e3f9d-1624-4dfc-9b57-e853f64207e9","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-25T08:51:26.8660847Z","changedTime":"2021-01-25T13:01:33.9378907Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Quantum/Workspaces/validator-qio-parallel-tempering-parameterfree-cpu-westus87a7caf0-6505-4532-8201-7cca7911c46a","name":"validator-qio-parallel-tempering-parameterfree-cpu-westus87a7caf0-6505-4532-8201-7cca7911c46a","type":"Microsoft.Quantum/Workspaces","location":"westus","identity":{"principalId":"72878b33-f1cc-4bd7-b0e8-07f9074ca199","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-25T09:10:43.5410026Z","changedTime":"2021-01-25T13:20:49.3261341Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Quantum/Workspaces/validator-qio-parallel-tempering-parameterfree-cpu-westus234dd38e-ac54-4aa3-9180-ab498ec44efb","name":"validator-qio-parallel-tempering-parameterfree-cpu-westus234dd38e-ac54-4aa3-9180-ab498ec44efb","type":"Microsoft.Quantum/Workspaces","location":"westus","identity":{"principalId":"acee4789-1443-44f5-bb6f-54e86c5454f3","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-25T09:15:38.3493286Z","changedTime":"2021-01-25T13:25:46.8737719Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Quantum/Workspaces/validator-qio-parallel-tempering-parameterfree-cpu-northeurope43c8fb61-d501-4223-abb9-90f098883799","name":"validator-qio-parallel-tempering-parameterfree-cpu-northeurope43c8fb61-d501-4223-abb9-90f098883799","type":"Microsoft.Quantum/Workspaces","location":"northeurope","identity":{"principalId":"77579eb5-92a9-43f3-a0e3-62b67baa155c","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-27T01:24:18.4539664Z","changedTime":"2021-01-27T05:34:32.4635504Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/microsoft.quantum/Workspaces/validator-qio-parallel-tempering-parameterfree-cpu-westeurope7e282da2-6148-4562-9da0-5a3ade31d2a3","name":"validator-qio-parallel-tempering-parameterfree-cpu-westeurope7e282da2-6148-4562-9da0-5a3ade31d2a3","type":"microsoft.quantum/Workspaces","location":"westeurope","createdTime":"2020-12-22T12:59:31.4318524Z","changedTime":"2020-12-22T17:09:39.3303788Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Quantum/Workspaces/validator-qio-parallel-tempering-parameterfree-cpu-westus2320f9ec-d1f5-4074-8c80-53c578006325","name":"validator-qio-parallel-tempering-parameterfree-cpu-westus2320f9ec-d1f5-4074-8c80-53c578006325","type":"Microsoft.Quantum/Workspaces","location":"westus","identity":{"principalId":"d7e0dd72-7df5-4255-9e27-6dc774280c26","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-25T09:06:10.4734786Z","changedTime":"2021-01-25T13:16:17.5837092Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Quantum/Workspaces/validator-qio-parallel-tempering-parameterfree-cpu-eastus2euap5b6e7602-2317-47d7-a59e-9f895ff881b3","name":"validator-qio-parallel-tempering-parameterfree-cpu-eastus2euap5b6e7602-2317-47d7-a59e-9f895ff881b3","type":"Microsoft.Quantum/Workspaces","location":"eastus2euap","identity":{"principalId":"309d9453-98f5-45ed-b1c9-f2cd3c621753","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-24T13:16:24.7015726Z","changedTime":"2021-01-25T18:37:11.0882693Z","provisioningState":"Succeeded","systemData":{"createdBy":"558e0fd6-c894-4dbc-a2e6-fafb22f72853","createdByType":"Application","createdAt":"2021-01-24T13:16:25.5434458Z","lastModifiedBy":"a77d91dc-971b-4cf7-90c8-f183194249bc","lastModifiedByType":"Application","lastModifiedAt":"2021-01-25T18:27:08.6769089Z"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/microsoft.quantum/Workspaces/validator-qio-parallel-tempering-parameterfree-cpu-westus59c9309c-35a7-4f28-9c24-1cb876893a63","name":"validator-qio-parallel-tempering-parameterfree-cpu-westus59c9309c-35a7-4f28-9c24-1cb876893a63","type":"microsoft.quantum/Workspaces","location":"westus","createdTime":"2021-01-22T23:58:56.3211874Z","changedTime":"2021-01-23T04:08:59.998145Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Quantum/Workspaces/validator-qio-parallel-tempering-parameterfree-cpu-westusbe4ae265-e141-4116-b974-16ebd0d486aa","name":"validator-qio-parallel-tempering-parameterfree-cpu-westusbe4ae265-e141-4116-b974-16ebd0d486aa","type":"Microsoft.Quantum/Workspaces","location":"westus","identity":{"principalId":"11cfb118-1466-4aac-819d-f6149b5e468b","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-25T09:18:46.0714753Z","changedTime":"2021-01-25T13:28:52.6288048Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Quantum/Workspaces/validator-qio-parallel-tempering-parameterfree-cpu-westus2844d1c53-25dd-4c82-88b8-dc7bf5560ec4","name":"validator-qio-parallel-tempering-parameterfree-cpu-westus2844d1c53-25dd-4c82-88b8-dc7bf5560ec4","type":"Microsoft.Quantum/Workspaces","location":"westus2","identity":{"principalId":"57b54bd6-90f1-4150-9917-68f2e3b8b48b","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-27T01:24:55.7487357Z","changedTime":"2021-01-27T05:35:18.7761081Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Quantum/Workspaces/validator-qio-parallel-tempering-parameterfree-cpu-westus1c14c6f7-18f0-4df4-b90e-7fe4851e02ff","name":"validator-qio-parallel-tempering-parameterfree-cpu-westus1c14c6f7-18f0-4df4-b90e-7fe4851e02ff","type":"Microsoft.Quantum/Workspaces","location":"westus","identity":{"principalId":"76fac2ed-1f07-4aa8-b019-f6a8b59fd5f5","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-25T08:55:33.2551305Z","changedTime":"2021-01-25T13:05:37.9640586Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Quantum/Workspaces/validator-qio-parallel-tempering-parameterfree-cpu-westus1be4d463-2c17-4242-8f71-db84c057990c","name":"validator-qio-parallel-tempering-parameterfree-cpu-westus1be4d463-2c17-4242-8f71-db84c057990c","type":"Microsoft.Quantum/Workspaces","location":"westus","identity":{"principalId":"af457cb9-0fd3-40b2-8a55-11e5b5a7e340","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-25T09:13:13.5719943Z","changedTime":"2021-01-25T13:23:17.113025Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Quantum/Workspaces/validator-qio-parallel-tempering-parameterfree-cpu-westus6a557fe9-ece2-485b-abd3-588815f0547c","name":"validator-qio-parallel-tempering-parameterfree-cpu-westus6a557fe9-ece2-485b-abd3-588815f0547c","type":"Microsoft.Quantum/Workspaces","location":"westus","identity":{"principalId":"d87a137d-e496-4b9b-8448-99eab3940dfe","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-25T08:53:14.6742589Z","changedTime":"2021-01-25T13:03:17.513724Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Quantum/Workspaces/validator-qio-parallel-tempering-parameterfree-cpu-eastus2euap3b32b45e-51ce-45d2-a3e3-e75a3ff504e7","name":"validator-qio-parallel-tempering-parameterfree-cpu-eastus2euap3b32b45e-51ce-45d2-a3e3-e75a3ff504e7","type":"Microsoft.Quantum/Workspaces","location":"eastus2euap","identity":{"principalId":"249dbd38-0f03-4283-912b-03be679b42d7","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-26T10:56:09.9462871Z","changedTime":"2021-01-26T15:06:43.1379835Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Quantum/Workspaces/validator-qio-parallel-tempering-parameterfree-cpu-westusff7e10f2-6027-401c-bd76-40ded6918925","name":"validator-qio-parallel-tempering-parameterfree-cpu-westusff7e10f2-6027-401c-bd76-40ded6918925","type":"Microsoft.Quantum/Workspaces","location":"westus","identity":{"principalId":"cc2dd087-ca52-4065-bc63-6e498cdc5daf","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-25T09:20:44.6578709Z","changedTime":"2021-01-25T13:30:52.0258896Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Quantum/Workspaces/validator-qio-parallel-tempering-parameterfree-cpu-westusa821653d-0f36-465e-b151-2a977835640f","name":"validator-qio-parallel-tempering-parameterfree-cpu-westusa821653d-0f36-465e-b151-2a977835640f","type":"Microsoft.Quantum/Workspaces","location":"westus","identity":{"principalId":"2c812bf6-874e-4e80-8551-0137bfc94c88","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-25T09:08:06.8876993Z","changedTime":"2021-01-25T13:18:12.1240906Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Quantum/Workspaces/validator-qio-simulated_annealing-fpga-eastus2euap93e4a2cb-f81a-4e75-96f0-c09433ce3c0e","name":"validator-qio-simulated_annealing-fpga-eastus2euap93e4a2cb-f81a-4e75-96f0-c09433ce3c0e","type":"Microsoft.Quantum/Workspaces","location":"eastus2euap","identity":{"principalId":"1e51a69c-b2d2-4218-81ff-f40df9086a6e","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-20T17:27:21.6268837Z","changedTime":"2021-01-20T21:37:26.379045Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Quantum/Workspaces/validator-qio-simulated_annealing_parameterfree-fpga-eastus2euapee1ba1bd-a0fe-42f4-bea4-8055deb44789","name":"validator-qio-simulated_annealing_parameterfree-fpga-eastus2euapee1ba1bd-a0fe-42f4-bea4-8055deb44789","type":"Microsoft.Quantum/Workspaces","location":"eastus2euap","identity":{"principalId":"89670165-f993-43ef-b606-65f4a3a0d13e","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-22T23:52:55.5849707Z","changedTime":"2021-01-23T04:02:59.7733789Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/microsoft.quantum/Workspaces/validator-qio-simulated_annealing_parameterfree-fpga-eastus2euapd1935694-d002-40d5-8f6a-a2f72077a247","name":"validator-qio-simulated_annealing_parameterfree-fpga-eastus2euapd1935694-d002-40d5-8f6a-a2f72077a247","type":"microsoft.quantum/Workspaces","location":"eastus2euap","createdTime":"2021-01-13T18:42:17.3897514Z","changedTime":"2021-01-13T22:52:20.2363847Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Quantum/Workspaces/validator-qio-simulatedannealing-cpu-eastus2euap3903bdbc-6028-4eb4-8b92-3e4cf32f4ceb","name":"validator-qio-simulatedannealing-cpu-eastus2euap3903bdbc-6028-4eb4-8b92-3e4cf32f4ceb","type":"Microsoft.Quantum/Workspaces","location":"eastus2euap","identity":{"principalId":"7452dc13-f87b-4e85-b090-bbd33f41dfa0","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-25T04:01:50.1559196Z","changedTime":"2021-01-25T18:34:49.5242763Z","provisioningState":"Succeeded","systemData":{"createdBy":"558e0fd6-c894-4dbc-a2e6-fafb22f72853","createdByType":"Application","createdAt":"2021-01-25T04:01:51.2605174Z","lastModifiedBy":"a77d91dc-971b-4cf7-90c8-f183194249bc","lastModifiedByType":"Application","lastModifiedAt":"2021-01-25T18:24:48.3774293Z"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Quantum/Workspaces/validator-qio-simulatedannealing-cpu-eastus2euap55b938d1-cc07-40d9-b4ad-f1523ad0c478","name":"validator-qio-simulatedannealing-cpu-eastus2euap55b938d1-cc07-40d9-b4ad-f1523ad0c478","type":"Microsoft.Quantum/Workspaces","location":"eastus2euap","identity":{"principalId":"a1257ca5-fed8-4b29-a078-97ad0c39d365","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-25T08:39:47.2427519Z","changedTime":"2021-01-25T18:39:35.5971056Z","provisioningState":"Succeeded","systemData":{"createdBy":"558e0fd6-c894-4dbc-a2e6-fafb22f72853","createdByType":"Application","createdAt":"2021-01-25T08:39:48.2247528Z","lastModifiedBy":"a77d91dc-971b-4cf7-90c8-f183194249bc","lastModifiedByType":"Application","lastModifiedAt":"2021-01-25T18:29:34.6936942Z"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Quantum/Workspaces/validator-qio-simulatedannealing-cpu-eastus2euap62b7f83e-161a-48d7-a3b9-3c4c1bef5b64","name":"validator-qio-simulatedannealing-cpu-eastus2euap62b7f83e-161a-48d7-a3b9-3c4c1bef5b64","type":"Microsoft.Quantum/Workspaces","location":"eastus2euap","identity":{"principalId":"fd8bfaca-aed0-4271-990e-a2db1a649ba4","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-28T13:54:40.436251Z","changedTime":"2021-01-28T18:04:44.1226891Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Quantum/Workspaces/validator-qio-simulatedannealing-cpu-eastus2euapf84995a9-b892-4c00-b9a2-238dec8ef3b4","name":"validator-qio-simulatedannealing-cpu-eastus2euapf84995a9-b892-4c00-b9a2-238dec8ef3b4","type":"Microsoft.Quantum/Workspaces","location":"eastus2euap","identity":{"principalId":"7724beaf-ca22-4024-9213-38b9cba5356a","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-26T06:49:45.0677521Z","changedTime":"2021-01-26T12:31:27.5277978Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Quantum/Workspaces/validator-qio-simulatedannealing-cpu-westus8d14d193-d682-4d74-b425-f6781cc447b1","name":"validator-qio-simulatedannealing-cpu-westus8d14d193-d682-4d74-b425-f6781cc447b1","type":"Microsoft.Quantum/Workspaces","location":"westus","identity":{"principalId":"212a5afa-fe7b-41c4-917c-b1adda3400be","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-25T08:53:40.7134191Z","changedTime":"2021-01-25T12:53:41.4228037Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Quantum/Workspaces/validator-qio-simulatedannealing-fpga-eastus2euap07176351-5513-48ac-bc39-6f115b14fe02","name":"validator-qio-simulatedannealing-fpga-eastus2euap07176351-5513-48ac-bc39-6f115b14fe02","type":"Microsoft.Quantum/Workspaces","location":"eastus2euap","identity":{"principalId":"4a0530bd-d1a1-482e-8cee-5126b888e7ce","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-25T07:54:48.4365759Z","changedTime":"2021-01-25T18:35:55.8654259Z","provisioningState":"Succeeded","systemData":{"createdBy":"558e0fd6-c894-4dbc-a2e6-fafb22f72853","createdByType":"Application","createdAt":"2021-01-25T07:54:49.449276Z","lastModifiedBy":"a77d91dc-971b-4cf7-90c8-f183194249bc","lastModifiedByType":"Application","lastModifiedAt":"2021-01-25T18:25:53.9847635Z"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Quantum/Workspaces/validator-qio-simulatedannealing-fpga-eastus2euap4b2afb7f-1b53-4046-b986-0ce3155964c0","name":"validator-qio-simulatedannealing-fpga-eastus2euap4b2afb7f-1b53-4046-b986-0ce3155964c0","type":"Microsoft.Quantum/Workspaces","location":"eastus2euap","identity":{"principalId":"8ca6451b-b163-4e3f-9c47-9a560fba83d2","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-26T19:36:19.815605Z","changedTime":"2021-01-26T23:46:26.3127352Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Quantum/Workspaces/validator-qio-simulatedannealing-fpga-eastus2euapc07e6fb6-98d3-4445-a9d7-62467ecffdb9","name":"validator-qio-simulatedannealing-fpga-eastus2euapc07e6fb6-98d3-4445-a9d7-62467ecffdb9","type":"Microsoft.Quantum/Workspaces","location":"eastus2euap","identity":{"principalId":"737975c3-5e27-4a9d-9ab4-a3f036df7095","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-26T07:45:25.2853243Z","changedTime":"2021-01-26T11:55:50.8760169Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Quantum/Workspaces/validator-qio-simulatedannealing-parameterfree-cpu-eastus2euap3e3b5d4f-7841-432a-81b6-d429d211472b","name":"validator-qio-simulatedannealing-parameterfree-cpu-eastus2euap3e3b5d4f-7841-432a-81b6-d429d211472b","type":"Microsoft.Quantum/Workspaces","location":"eastus2euap","identity":{"principalId":"27ee8e3f-fa7e-4b7d-b7a0-fefcbee6a8ee","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-25T04:59:27.3345662Z","changedTime":"2021-01-25T18:32:53.595307Z","provisioningState":"Succeeded","systemData":{"createdBy":"558e0fd6-c894-4dbc-a2e6-fafb22f72853","createdByType":"Application","createdAt":"2021-01-25T04:59:28.1792785Z","lastModifiedBy":"a77d91dc-971b-4cf7-90c8-f183194249bc","lastModifiedByType":"Application","lastModifiedAt":"2021-01-25T18:22:51.6755527Z"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Quantum/Workspaces/validator-qio-simulatedannealing-parameterfree-cpu-eastus2euapf8efda80-73a9-4680-b39d-d2ce4ded8f83","name":"validator-qio-simulatedannealing-parameterfree-cpu-eastus2euapf8efda80-73a9-4680-b39d-d2ce4ded8f83","type":"Microsoft.Quantum/Workspaces","location":"eastus2euap","identity":{"principalId":"51de76b4-3007-4d63-b37e-188b29fef4a2","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-26T05:05:52.7444391Z","changedTime":"2021-01-26T08:19:43.9836235Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Quantum/Workspaces/validator-qio-simulatedannealing-parameterfree-cpu-eastus2euapa0addfe2-75dc-44a9-9b26-239367134f2c","name":"validator-qio-simulatedannealing-parameterfree-cpu-eastus2euapa0addfe2-75dc-44a9-9b26-239367134f2c","type":"Microsoft.Quantum/Workspaces","location":"eastus2euap","identity":{"principalId":"aab6f23f-121f-40ab-9fd4-deba0d7f3492","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-25T08:26:05.5723211Z","changedTime":"2021-01-25T18:32:00.0679973Z","provisioningState":"Succeeded","systemData":{"createdBy":"558e0fd6-c894-4dbc-a2e6-fafb22f72853","createdByType":"Application","createdAt":"2021-01-25T08:26:06.8323564Z","lastModifiedBy":"a77d91dc-971b-4cf7-90c8-f183194249bc","lastModifiedByType":"Application","lastModifiedAt":"2021-01-25T18:21:57.7698075Z"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Quantum/Workspaces/validator-qio-simulatedannealing-parameterfree-cpu-westuscfe7e8b1-dc5a-41f3-89fb-bd9db8324bb2","name":"validator-qio-simulatedannealing-parameterfree-cpu-westuscfe7e8b1-dc5a-41f3-89fb-bd9db8324bb2","type":"Microsoft.Quantum/Workspaces","location":"westus","identity":{"principalId":"3612761e-b711-49f4-8a6e-b2ccfed78453","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-25T08:35:33.4064542Z","changedTime":"2021-01-25T13:35:59.7801636Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Quantum/Workspaces/validator-qio-simulatedannealing-parameterfree-fpga-eastus2euap47b6d750-ffcf-4f9b-867d-6a2f4a5535eb","name":"validator-qio-simulatedannealing-parameterfree-fpga-eastus2euap47b6d750-ffcf-4f9b-867d-6a2f4a5535eb","type":"Microsoft.Quantum/Workspaces","location":"eastus2euap","identity":{"principalId":"65af3be2-a9e2-4084-a3df-d2f2c86121ab","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-25T07:51:13.5790381Z","changedTime":"2021-01-25T18:31:28.3715666Z","provisioningState":"Succeeded","systemData":{"createdBy":"558e0fd6-c894-4dbc-a2e6-fafb22f72853","createdByType":"Application","createdAt":"2021-01-25T07:51:14.6266975Z","lastModifiedBy":"a77d91dc-971b-4cf7-90c8-f183194249bc","lastModifiedByType":"Application","lastModifiedAt":"2021-01-25T18:21:25.3140488Z"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Quantum/Workspaces/validator-qio-simulatedannealing-parameterfree-fpga-eastus2euap0771068d-ab3b-4767-8922-021210dd21a9","name":"validator-qio-simulatedannealing-parameterfree-fpga-eastus2euap0771068d-ab3b-4767-8922-021210dd21a9","type":"Microsoft.Quantum/Workspaces","location":"eastus2euap","identity":{"principalId":"bd18352d-73f8-4200-a451-47ba8c34606f","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-26T06:02:19.8615289Z","changedTime":"2021-01-26T10:12:42.4873753Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Quantum/Workspaces/validator-qio-simulatedannealing-parameterfree-fpga-eastus2euapc1263647-d77a-4786-bab5-4621debfd412","name":"validator-qio-simulatedannealing-parameterfree-fpga-eastus2euapc1263647-d77a-4786-bab5-4621debfd412","type":"Microsoft.Quantum/Workspaces","location":"eastus2euap","identity":{"principalId":"03777908-849a-43c4-8c8f-c98bea305df9","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-28T13:53:59.5440573Z","changedTime":"2021-01-28T18:04:03.7351224Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/microsoft.quantum/Workspaces/validator-qio-simulatedannealing-parameterfree.cpu-eastus2euap","name":"validator-qio-simulatedannealing-parameterfree.cpu-eastus2euap","type":"microsoft.quantum/Workspaces","location":"eastus2euap","createdTime":"2020-12-14T07:18:22.0512129Z","changedTime":"2020-12-14T10:28:00.4063283Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/microsoft.quantum/Workspaces/validator-qio-simulatedannealing-parameterfree.cpu-eastus2euap5e423546-ab2c-4d04-bfcc-69924e88e731","name":"validator-qio-simulatedannealing-parameterfree.cpu-eastus2euap5e423546-ab2c-4d04-bfcc-69924e88e731","type":"microsoft.quantum/Workspaces","location":"eastus2euap","createdTime":"2021-01-19T19:32:59.1445224Z","changedTime":"2021-01-19T23:33:07.9540303Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/microsoft.quantum/Workspaces/validator-qio-simulatedannealing-parameterfree.cpu-westus65f84457-9049-444f-a3e7-bdb3c1e7a966","name":"validator-qio-simulatedannealing-parameterfree.cpu-westus65f84457-9049-444f-a3e7-bdb3c1e7a966","type":"microsoft.quantum/Workspaces","location":"westus","createdTime":"2020-12-22T12:18:57.0819426Z","changedTime":"2020-12-22T16:36:31.7465643Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Quantum/Workspaces/validator-qio-simulatedannealing.cpu-eastus2euapbaace254-294a-4ef1-9acc-ff1e1db7a864","name":"validator-qio-simulatedannealing.cpu-eastus2euapbaace254-294a-4ef1-9acc-ff1e1db7a864","type":"Microsoft.Quantum/Workspaces","location":"eastus2euap","identity":{"principalId":"b1fe2ee5-8604-4a8e-b4d4-53fcfca09274","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-20T17:28:44.6811681Z","changedTime":"2021-01-20T21:38:49.5040367Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Quantum/Workspaces/validator-qio-tabu-cpu-eastus2euap21f41ff8-9a1f-4e2f-a0ce-f67a16e996a3","name":"validator-qio-tabu-cpu-eastus2euap21f41ff8-9a1f-4e2f-a0ce-f67a16e996a3","type":"Microsoft.Quantum/Workspaces","location":"eastus2euap","identity":{"principalId":"1ea599cc-4a1b-4441-a531-49c5e6dbb013","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-26T01:42:35.8076381Z","changedTime":"2021-01-26T06:43:18.4885353Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/microsoft.quantum/Workspaces/validator-qio-tabu-cpu-westus7ceb0b6c-3ff4-4102-8a42-d46fd54e9fc0","name":"validator-qio-tabu-cpu-westus7ceb0b6c-3ff4-4102-8a42-d46fd54e9fc0","type":"microsoft.quantum/Workspaces","location":"westus","createdTime":"2021-01-04T21:47:30.3779577Z","changedTime":"2021-01-05T02:48:33.6574971Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Quantum/Workspaces/validator-qio-tabu-cpu-westus8eb7b5b8-aea2-48dc-ab4f-ed597ab3b81b","name":"validator-qio-tabu-cpu-westus8eb7b5b8-aea2-48dc-ab4f-ed597ab3b81b","type":"Microsoft.Quantum/Workspaces","location":"westus","identity":{"principalId":"e9d2288b-128c-4659-b933-99dd1ab32418","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-27T01:22:59.3735763Z","changedTime":"2021-01-27T05:33:05.7171422Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Quantum/Workspaces/validator-qio-tabu-parameterfree-cpu-eastus2euap2e7ba040-db0f-4133-a488-bcbbfd89226e","name":"validator-qio-tabu-parameterfree-cpu-eastus2euap2e7ba040-db0f-4133-a488-bcbbfd89226e","type":"Microsoft.Quantum/Workspaces","location":"eastus2euap","identity":{"principalId":"47ae9309-9f57-4387-a3cf-d213a2e1e4d4","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-25T08:33:36.0215979Z","changedTime":"2021-01-25T18:31:37.6713534Z","provisioningState":"Succeeded","systemData":{"createdBy":"558e0fd6-c894-4dbc-a2e6-fafb22f72853","createdByType":"Application","createdAt":"2021-01-25T08:33:37.121129Z","lastModifiedBy":"a77d91dc-971b-4cf7-90c8-f183194249bc","lastModifiedByType":"Application","lastModifiedAt":"2021-01-25T18:21:36.594196Z"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Quantum/Workspaces/validator-qio-tabu-parameterfree-cpu-eastus2euap6b3d4b9d-1886-4cda-a678-b863b77ac685","name":"validator-qio-tabu-parameterfree-cpu-eastus2euap6b3d4b9d-1886-4cda-a678-b863b77ac685","type":"Microsoft.Quantum/Workspaces","location":"eastus2euap","identity":{"principalId":"6feb32ee-8afd-47d3-a55c-2891c11c0a86","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-22T23:53:31.358029Z","changedTime":"2021-01-23T04:03:35.5357753Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Quantum/Workspaces/validator-qio-tabu-parameterfree-cpu-eastus2euapadbe5554-5d00-432c-8514-85df814fba38","name":"validator-qio-tabu-parameterfree-cpu-eastus2euapadbe5554-5d00-432c-8514-85df814fba38","type":"Microsoft.Quantum/Workspaces","location":"eastus2euap","identity":{"principalId":"b56e5944-7dfe-49dd-975f-23c8ae756ace","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-26T02:17:58.9028608Z","changedTime":"2021-01-26T06:28:22.3105385Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Quantum/Workspaces/validator-qio-tabu-parameterfree-cpu-eastus2euapb0c225ec-845e-42ae-833b-bcfbb2eb2a92","name":"validator-qio-tabu-parameterfree-cpu-eastus2euapb0c225ec-845e-42ae-833b-bcfbb2eb2a92","type":"Microsoft.Quantum/Workspaces","location":"eastus2euap","identity":{"principalId":"dc707df7-5039-49d6-8f6a-52cc4e778577","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-28T13:55:22.9222968Z","changedTime":"2021-01-28T18:59:05.9895286Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Quantum/Workspaces/validator-qio-tabu-parameterfree-cpu-eastus2euapd64dcc35-7622-4a28-b437-59b58fd59f82","name":"validator-qio-tabu-parameterfree-cpu-eastus2euapd64dcc35-7622-4a28-b437-59b58fd59f82","type":"Microsoft.Quantum/Workspaces","location":"eastus2euap","identity":{"principalId":"26c62e97-e398-4ed9-af69-947baf1882e7","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-25T08:45:13.0305283Z","changedTime":"2021-01-25T12:55:19.1195678Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Quantum/Workspaces/validator-workspace-crdl-westus","name":"validator-workspace-crdl-westus","type":"Microsoft.Quantum/Workspaces","location":"westus","identity":{"principalId":"94a8471c-e477-431f-85d3-05ba089c5cad","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-29T04:09:51.4490225Z","changedTime":"2021-01-29T14:03:17.2513238Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Quantum/Workspaces/validator-workspace-westus","name":"validator-workspace-westus","type":"Microsoft.Quantum/Workspaces","location":"westus","identity":{"principalId":"dff3fbf8-5dc1-4f86-bf35-e4a19c9cc218","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-29T06:50:01.0145394Z","changedTime":"2021-01-29T11:00:03.874687Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Quantum/Workspaces/validator-workspace-westus-2","name":"validator-workspace-westus-2","type":"Microsoft.Quantum/Workspaces","location":"westus","identity":{"principalId":"fbd1b7da-4138-40cd-b74b-7e0b2aec0c61","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-29T06:20:10.2222895Z","changedTime":"2021-01-29T10:30:16.5747877Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Quantum/Workspaces/validator-workspace-westus-3","name":"validator-workspace-westus-3","type":"Microsoft.Quantum/Workspaces","location":"westus","identity":{"principalId":"32242439-4fce-4923-bc2a-d3f0a60f334e","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-29T06:20:53.3074778Z","changedTime":"2021-01-29T10:30:58.2767178Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-test/providers/Microsoft.Quantum/Workspaces/demo","name":"demo","type":"Microsoft.Quantum/Workspaces","location":"westus","createdTime":"2020-05-05T17:28:29.5939264Z","changedTime":"2020-05-05T17:38:31.1167751Z","provisioningState":"Succeeded","tags":{}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-test/providers/Microsoft.Quantum/Workspaces/test-yinshen","name":"test-yinshen","type":"Microsoft.Quantum/Workspaces","location":"westus","createdTime":"2020-05-05T03:51:59.1516552Z","changedTime":"2020-05-20T21:41:00.7845506Z","provisioningState":"Succeeded","tags":{}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/ashwinm-test-private-preview/providers/Microsoft.Quantum/Workspaces/aq-private-preview-test","name":"aq-private-preview-test","type":"Microsoft.Quantum/Workspaces","location":"westus","createdTime":"2020-03-16T22:04:24.0804946Z","changedTime":"2020-03-16T22:14:25.1341685Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/ashwinm-test-private-preview/providers/Microsoft.Quantum/Workspaces/aq-private-preview-test-01","name":"aq-private-preview-test-01","type":"Microsoft.Quantum/Workspaces","location":"westus","createdTime":"2020-05-20T01:13:35.440609Z","changedTime":"2020-09-10T23:10:37.7043418Z","provisioningState":"Succeeded","tags":{}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/ashwinm-test-private-preview/providers/Microsoft.Quantum/Workspaces/aq-private-preview-test-02","name":"aq-private-preview-test-02","type":"Microsoft.Quantum/Workspaces","location":"westus","identity":{"principalId":"46e0805f-e31f-4e85-847f-d13a6635fa11","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-25T19:18:23.0582626Z","changedTime":"2021-01-25T23:28:27.0409898Z","provisioningState":"Succeeded","tags":{}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/ashwinm-test-private-preview/providers/Microsoft.Quantum/Workspaces/ashwinm-westus2-001","name":"ashwinm-westus2-001","type":"Microsoft.Quantum/Workspaces","location":"westus2","identity":{"principalId":"8c0cb783-3c6d-4d0f-9fa0-fc1b4807adca","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-25T21:54:14.478769Z","changedTime":"2021-01-28T22:47:59.6704953Z","provisioningState":"Succeeded","tags":{}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/ashwinm-test-private-preview/providers/Microsoft.Quantum/Workspaces/ashwinm-wp-eastus2eap-002","name":"ashwinm-wp-eastus2eap-002","type":"Microsoft.Quantum/Workspaces","location":"eastus2euap","identity":{"principalId":"a3f8f498-0076-437c-b67f-8a9acd8f9a3f","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2020-10-27T23:01:07.9301282Z","changedTime":"2021-01-27T01:05:00.4242022Z","provisioningState":"Succeeded","tags":{}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/ashwinm-test-private-preview/providers/Microsoft.Quantum/Workspaces/ashwinm-wp-eastus2eap-003","name":"ashwinm-wp-eastus2eap-003","type":"Microsoft.Quantum/Workspaces","location":"eastus2euap","identity":{"principalId":"69718588-0320-4594-b4d6-c1950818a4f6","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-25T19:28:11.284421Z","changedTime":"2021-01-25T23:38:16.923538Z","provisioningState":"Succeeded","tags":{}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/e2e-test-rg/providers/Microsoft.Quantum/Workspaces/e2e-browse-test","name":"e2e-browse-test","type":"Microsoft.Quantum/Workspaces","location":"westus","identity":{"principalId":"24b95fbd-1937-45ce-831d-49c43dbca3c3","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2020-10-16T22:38:04.5503497Z","changedTime":"2020-10-17T02:48:06.7367182Z","provisioningState":"Succeeded","tags":{}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/e2e-test-rg/providers/Microsoft.Quantum/Workspaces/e2e-create-test","name":"e2e-create-test","type":"Microsoft.Quantum/Workspaces","location":"westus","identity":{"principalId":"acf06cc1-90cf-4a4e-96ea-0e81a78b31b8","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2020-10-16T21:46:25.6270369Z","changedTime":"2020-12-11T01:27:21.9528657Z","provisioningState":"Succeeded","tags":{}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/etperr-test/providers/Microsoft.Quantum/Workspaces/etperr-test","name":"etperr-test","type":"Microsoft.Quantum/Workspaces","location":"westus","createdTime":"2020-05-28T17:40:04.6504296Z","changedTime":"2020-06-25T22:05:20.8555311Z","provisioningState":"Succeeded","tags":{}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/georgenm-e2e-tests-northeurope-rg/providers/microsoft.quantum/Workspaces/e2e-tests-workspace-MS","name":"e2e-tests-workspace-MS","type":"microsoft.quantum/Workspaces","location":"northeurope","createdTime":"2020-12-08T21:36:55.3082995Z","changedTime":"2020-12-09T01:47:05.2290408Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/georgenm-test/providers/Microsoft.Quantum/Workspaces/contoso-westus1","name":"contoso-westus1","type":"Microsoft.Quantum/Workspaces","location":"westus","createdTime":"2020-06-16T18:12:46.1199949Z","changedTime":"2020-06-16T22:23:17.8476353Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/georgenm-test/providers/Microsoft.Quantum/Workspaces/Demotest","name":"Demotest","type":"Microsoft.Quantum/Workspaces","location":"westus","identity":{"principalId":"1a7d82ef-ddad-4188-a324-55357a97a746","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2020-12-14T02:43:01.2839634Z","changedTime":"2020-12-14T07:53:23.8203377Z","provisioningState":"Succeeded","tags":{}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/georgenm-test/providers/Microsoft.Quantum/Workspaces/honeywell1","name":"honeywell1","type":"Microsoft.Quantum/Workspaces","location":"westus","identity":{"principalId":"2d4a5e76-2937-4061-83fc-7d969954a3a2","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2020-09-21T19:05:23.328088Z","changedTime":"2020-09-21T23:15:29.7759422Z","provisioningState":"Succeeded","tags":{}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/georgenm-test/providers/Microsoft.Quantum/Workspaces/ionq1","name":"ionq1","type":"Microsoft.Quantum/Workspaces","location":"westus","identity":{"principalId":"6102d9a8-0e72-4da2-a27d-a652d3c2e5e8","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2020-09-21T19:11:00.0635813Z","changedTime":"2020-09-21T23:21:05.0072241Z","provisioningState":"Succeeded","tags":{}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/georgenm-test/providers/Microsoft.Quantum/Workspaces/microsoft-westus1","name":"microsoft-westus1","type":"Microsoft.Quantum/Workspaces","location":"westus","createdTime":"2020-06-16T18:20:01.280349Z","changedTime":"2020-06-16T22:30:26.0971053Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/georgenm-test/providers/Microsoft.Quantum/Workspaces/testworkspace","name":"testworkspace","type":"Microsoft.Quantum/Workspaces","location":"westus","identity":{"principalId":"fe78f511-aa67-4408-8ee5-8a681d838e64","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2020-10-30T17:46:02.7517564Z","changedTime":"2020-10-30T21:56:06.51548Z","provisioningState":"Succeeded","tags":{}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/georgenm-test/providers/Microsoft.Quantum/Workspaces/testworkspace2","name":"testworkspace2","type":"Microsoft.Quantum/Workspaces","location":"westus","identity":{"principalId":"4a6aa964-3782-44e2-b91a-14ddf8c1c009","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2020-10-30T17:52:23.1697444Z","changedTime":"2020-10-30T22:02:27.1066705Z","provisioningState":"Succeeded","tags":{}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/georgenm-test/providers/Microsoft.Quantum/Workspaces/workspace1","name":"workspace1","type":"Microsoft.Quantum/Workspaces","location":"northeurope","identity":{"principalId":"85b25f82-4f7b-4c6a-9e42-74ee0bb8780c","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-12T23:52:15.8907571Z","changedTime":"2021-01-13T04:02:24.0881195Z","provisioningState":"Succeeded","tags":{}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/georgenm-workspace-template/providers/Microsoft.Quantum/Workspaces/geworkspace11","name":"geworkspace11","type":"Microsoft.Quantum/Workspaces","location":"eastus","identity":{"principalId":"cc6fce79-06d2-49bf-ad5d-394433926199","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-26T21:40:09.799234Z","changedTime":"2021-01-27T01:50:12.5498648Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/georgenm-workspace-template/providers/Microsoft.Quantum/Workspaces/geworkspace123","name":"geworkspace123","type":"Microsoft.Quantum/Workspaces","location":"eastus","identity":{"principalId":"9c2c9ddd-4d92-44af-aa71-3956445d22dc","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-26T21:36:40.1150372Z","changedTime":"2021-01-27T01:46:42.7475501Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/georgenm-workspace-template/providers/Microsoft.Quantum/Workspaces/geworkspace2","name":"geworkspace2","type":"Microsoft.Quantum/Workspaces","location":"eastus","identity":{"principalId":"3efb1d1e-3f6a-4f3c-84b5-9d4595843ac2","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-26T23:07:27.8953191Z","changedTime":"2021-01-27T03:17:30.9814968Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/hay-deletetest/providers/Microsoft.Quantum/Workspaces/proddelete","name":"proddelete","type":"Microsoft.Quantum/Workspaces","location":"westus","createdTime":"2020-05-28T17:29:19.3030796Z","changedTime":"2020-05-28T17:39:35.9521659Z","provisioningState":"Succeeded","tags":{"department":"MightyMight","company":"Contoso"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/hay-deletetest/providers/Microsoft.Quantum/Workspaces/proddelete2","name":"proddelete2","type":"Microsoft.Quantum/Workspaces","location":"westus","createdTime":"2020-05-28T17:31:37.3759282Z","changedTime":"2020-05-28T17:42:12.4736796Z","provisioningState":"Succeeded","tags":{"department":"MightyMight","company":"Contoso"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/hay-deletetest/providers/Microsoft.Quantum/Workspaces/proddelete3","name":"proddelete3","type":"Microsoft.Quantum/Workspaces","location":"eastus2euap","createdTime":"2020-05-28T17:33:39.1357646Z","changedTime":"2020-11-19T01:38:48.1282127Z","provisioningState":"Succeeded","tags":{"department":"MightyMight","company":"Contoso"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/hay-testcanary/providers/Microsoft.Quantum/Workspaces/canarygood","name":"canarygood","type":"Microsoft.Quantum/Workspaces","location":"eastus2euap","createdTime":"2020-07-28T17:55:42.2144233Z","changedTime":"2020-11-19T01:38:45.1641385Z","provisioningState":"Succeeded","tags":{"department":"MightyMight","company":"Contoso"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/hay-testcanary/providers/Microsoft.Quantum/Workspaces/dfDemoNew8","name":"dfDemoNew8","type":"Microsoft.Quantum/Workspaces","location":"eastus2euap","createdTime":"2020-04-28T02:31:50.8360267Z","changedTime":"2020-11-19T01:38:50.9217841Z","provisioningState":"Succeeded","tags":{"department":"MightyMight","company":"Contoso"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/hay-testcanary/providers/Microsoft.Quantum/Workspaces/dfDemoNewrepro","name":"dfDemoNewrepro","type":"Microsoft.Quantum/Workspaces","location":"eastus2euap","createdTime":"2020-06-17T21:52:27.5808532Z","changedTime":"2020-11-19T01:38:48.8779782Z","provisioningState":"Succeeded","tags":{"department":"MightyMight","company":"Contoso"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/hay-testcanary/providers/Microsoft.Quantum/Workspaces/mycontoso1","name":"mycontoso1","type":"Microsoft.Quantum/Workspaces","location":"eastus2euap","createdTime":"2020-04-29T23:56:38.2820281Z","changedTime":"2020-11-19T01:38:50.5545403Z","provisioningState":"Succeeded","tags":{"department":"MightyMight","company":"Contoso"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/hay-testcanary/providers/Microsoft.Quantum/Workspaces/myionq1","name":"myionq1","type":"Microsoft.Quantum/Workspaces","location":"eastus2euap","createdTime":"2020-04-29T23:54:10.1200313Z","changedTime":"2020-11-19T01:38:48.8317005Z","provisioningState":"Succeeded","tags":{"department":"MightyMight","company":"Contoso"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/hay-testRG/providers/Microsoft.Quantum/workspaces/dfDemoNew10","name":"dfDemoNew10","type":"Microsoft.Quantum/workspaces","location":"westus","createdTime":"2020-03-11T19:20:33.4802519Z","changedTime":"2020-03-11T19:30:34.3278194Z","provisioningState":"Succeeded","tags":{"department":"MightyMight","company":"Contoso"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/hay-testRG/providers/Microsoft.Quantum/workspaces/dfDemoNew8","name":"dfDemoNew8","type":"Microsoft.Quantum/workspaces","location":"westus","createdTime":"2020-03-11T03:12:37.0377102Z","changedTime":"2020-03-11T03:22:37.3633519Z","provisioningState":"Succeeded","tags":{"department":"MightyMight","company":"Contoso"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/hay-testRG/providers/Microsoft.Quantum/workspaces/dfDemoNew9","name":"dfDemoNew9","type":"Microsoft.Quantum/workspaces","location":"westus","createdTime":"2020-03-11T03:13:24.1727198Z","changedTime":"2020-05-15T02:34:05.6088144Z","provisioningState":"Succeeded","tags":{"department":"MightyMight","company":"Contoso"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/hay-testRG/providers/Microsoft.Quantum/workspaces/prod1","name":"prod1","type":"Microsoft.Quantum/workspaces","location":"westus","createdTime":"2020-03-10T03:16:06.5245195Z","changedTime":"2020-03-10T03:26:08.8514382Z","provisioningState":"Succeeded","tags":{"department":"MightyMight","company":"Contoso"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rwolfso/providers/Microsoft.Quantum/Workspaces/rowolfso","name":"rowolfso","type":"Microsoft.Quantum/Workspaces","location":"westus","createdTime":"2020-05-08T18:36:18.0334208Z","changedTime":"2020-05-08T18:46:19.5168746Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sanjgupt/providers/Microsoft.Quantum/Workspaces/job_shop","name":"job_shop","type":"Microsoft.Quantum/Workspaces","location":"westus","createdTime":"2020-07-05T01:48:33.5086065Z","changedTime":"2020-07-05T01:58:35.2363297Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sdk-review-rg/providers/Microsoft.Quantum/Workspaces/workspace-ms","name":"workspace-ms","type":"Microsoft.Quantum/Workspaces","location":"westus","identity":{"principalId":"3bbce0c2-fbdc-4154-8132-e5ffab9abe46","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-22T18:55:19.83585Z","changedTime":"2021-01-22T23:05:25.3866206Z","provisioningState":"Succeeded","tags":{}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sdktestrg-7961/providers/Microsoft.Quantum/Workspaces/aqws5237","name":"aqws5237","type":"Microsoft.Quantum/Workspaces","location":"westus","identity":{"principalId":"17ca4ab7-b357-4797-8600-aa9d7d3d19d9","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-27T13:34:18.297899Z","changedTime":"2021-01-27T17:44:22.446036Z","provisioningState":"Succeeded","tags":{"TestTag":"TestUpdate"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testalias-e2e-tests-canary-rg/providers/microsoft.quantum/Workspaces/e2e-tests-workspace-1qbit","name":"e2e-tests-workspace-1qbit","type":"microsoft.quantum/Workspaces","location":"eastus2euap","createdTime":"2020-06-23T22:17:10.5084517Z","changedTime":"2020-11-19T01:38:48.5720438Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testalias-e2e-tests-canary-rg/providers/microsoft.quantum/Workspaces/e2e-tests-workspace-ionq","name":"e2e-tests-workspace-ionq","type":"microsoft.quantum/Workspaces","location":"eastus2euap","createdTime":"2020-06-24T00:18:50.6646607Z","changedTime":"2020-11-19T01:38:50.418098Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testalias-e2e-tests-canary-rg/providers/microsoft.quantum/Workspaces/e2e-tests-workspace-Microsoft","name":"e2e-tests-workspace-Microsoft","type":"microsoft.quantum/Workspaces","location":"eastus2euap","createdTime":"2020-06-24T15:27:06.3377365Z","changedTime":"2020-11-19T01:38:47.0876928Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testalias-e2e-tests-westus-rg/providers/microsoft.quantum/Workspaces/e2e-tests-workspace-Microsoft","name":"e2e-tests-workspace-Microsoft","type":"microsoft.quantum/Workspaces","location":"westus","createdTime":"2020-06-23T22:00:45.5575287Z","changedTime":"2020-06-23T22:10:47.7509457Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/validator-test-rg/providers/microsoft.quantum/Workspaces/testworkspace","name":"testworkspace","type":"microsoft.quantum/Workspaces","location":"westus","createdTime":"2020-04-28T21:52:31.2857652Z","changedTime":"2020-04-28T22:02:33.3373885Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/validator-test-rg/providers/microsoft.quantum/Workspaces/testworkspace-canary","name":"testworkspace-canary","type":"microsoft.quantum/Workspaces","location":"eastus2euap","createdTime":"2020-04-28T14:56:18.0306815Z","changedTime":"2020-11-19T01:39:01.8041475Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/validator-test-rg/providers/microsoft.quantum/Workspaces/testworkspace-canary2","name":"testworkspace-canary2","type":"microsoft.quantum/Workspaces","location":"eastus2euap","createdTime":"2020-04-28T20:55:28.7012209Z","changedTime":"2020-11-19T01:38:49.8527808Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/validator-test-rg/providers/microsoft.quantum/Workspaces/testworkspace-canary-1qbit","name":"testworkspace-canary-1qbit","type":"microsoft.quantum/Workspaces","location":"eastus2euap","createdTime":"2020-05-06T20:46:02.9463024Z","changedTime":"2020-11-19T01:39:07.3193368Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/validator-test-rg/providers/microsoft.quantum/Workspaces/testworkspace-canary-1qbit-ge","name":"testworkspace-canary-1qbit-ge","type":"microsoft.quantum/Workspaces","location":"eastus2euap","createdTime":"2020-05-26T18:32:25.1081893Z","changedTime":"2020-11-19T01:38:43.8400875Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/validator-test-rg/providers/microsoft.quantum/Workspaces/testworkspace-canary-honeywell-ge","name":"testworkspace-canary-honeywell-ge","type":"microsoft.quantum/Workspaces","location":"eastus2euap","createdTime":"2020-05-27T16:40:07.624175Z","changedTime":"2020-11-19T01:38:44.586954Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/validator-test-rg/providers/microsoft.quantum/Workspaces/testworkspace-canary-ionq","name":"testworkspace-canary-ionq","type":"microsoft.quantum/Workspaces","location":"eastus2euap","createdTime":"2020-04-28T20:59:00.1811278Z","changedTime":"2020-11-19T01:38:44.7862325Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/validator-test-rg/providers/microsoft.quantum/Workspaces/testworkspace-canary-ionq-ge","name":"testworkspace-canary-ionq-ge","type":"microsoft.quantum/Workspaces","location":"eastus2euap","createdTime":"2020-04-30T16:45:40.8333372Z","changedTime":"2020-11-19T01:38:47.8010299Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/validator-test-rg/providers/microsoft.quantum/Workspaces/testworkspace-canary-microsoft","name":"testworkspace-canary-microsoft","type":"microsoft.quantum/Workspaces","location":"eastus2euap","createdTime":"2020-04-29T17:24:24.1044095Z","changedTime":"2020-11-19T01:39:05.6645268Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/validator-test-rg/providers/microsoft.quantum/Workspaces/testworkspace-canary-microsoft2","name":"testworkspace-canary-microsoft2","type":"microsoft.quantum/Workspaces","location":"eastus2euap","createdTime":"2020-04-29T17:29:59.9687869Z","changedTime":"2020-11-19T01:38:45.5706904Z","provisioningState":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/xiou/providers/Microsoft.Quantum/Workspaces/xiou-quantumws","name":"xiou-quantumws","type":"Microsoft.Quantum/Workspaces","location":"westus","identity":{"principalId":"e03fdb80-274f-4137-8c73-437233dc6b44","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-11T23:50:19.4757002Z","changedTime":"2021-01-28T17:48:49.3744261Z","provisioningState":"Succeeded","tags":{}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/xiou/providers/Microsoft.Quantum/Workspaces/xiou-quantumws-eastus2euap","name":"xiou-quantumws-eastus2euap","type":"Microsoft.Quantum/Workspaces","location":"eastus2euap","identity":{"principalId":"83bd2b22-b70d-4601-9eb0-02e5d10b4180","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-25T17:37:43.3428229Z","changedTime":"2021-01-28T17:24:25.115547Z","provisioningState":"Succeeded","tags":{}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/yinshen-test/providers/Microsoft.Quantum/Workspaces/canary-billing-test","name":"canary-billing-test","type":"Microsoft.Quantum/Workspaces","location":"eastus2euap","identity":{"principalId":"bebb3133-0324-4b91-ac0b-7cf9e85f478c","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-15T18:20:25.6186819Z","changedTime":"2021-01-26T22:28:11.3204084Z","provisioningState":"Succeeded","tags":{}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/yinshen-test/providers/Microsoft.Quantum/Workspaces/demo-yinshen","name":"demo-yinshen","type":"Microsoft.Quantum/Workspaces","location":"westus","createdTime":"2020-06-05T16:40:04.7665954Z","changedTime":"2020-06-05T20:50:32.5084865Z","provisioningState":"Succeeded","tags":{}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/yinshen-test/providers/Microsoft.Quantum/Workspaces/yinshen-private-preview","name":"yinshen-private-preview","type":"Microsoft.Quantum/Workspaces","location":"westus2","identity":{"principalId":"4bab7684-6a7f-4e2e-84e6-31e32a6348b1","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"createdTime":"2021-01-29T17:14:01.2597887Z","changedTime":"2021-01-29T17:24:24.4242526Z","provisioningState":"Succeeded","tags":{}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/yinshen-test/providers/Microsoft.Quantum/Workspaces/yinshen-workspace","name":"yinshen-workspace","type":"Microsoft.Quantum/Workspaces","location":"westus","createdTime":"2020-05-27T21:34:55.5356144Z","changedTime":"2020-05-28T17:13:33.1891196Z","provisioningState":"Succeeded","tags":{}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/yinshen-test-001/providers/Microsoft.Quantum/Workspaces/accepted","name":"accepted","type":"Microsoft.Quantum/Workspaces","location":"westus","createdTime":"2020-06-01T20:37:01.157089Z","changedTime":"2020-06-01T20:47:47.6517904Z","provisioningState":"Succeeded","tags":{}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/yinshen-test-001/providers/Microsoft.Quantum/Workspaces/new","name":"new","type":"Microsoft.Quantum/Workspaces","location":"westus","createdTime":"2020-06-01T19:13:43.47931Z","changedTime":"2020-06-01T19:24:19.3065929Z","provisioningState":"Succeeded","tags":{}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/yinshen-test-001/providers/Microsoft.Quantum/Workspaces/yinshen-test-new","name":"yinshen-test-new","type":"Microsoft.Quantum/Workspaces","location":"westus","createdTime":"2020-06-01T17:59:32.2118129Z","changedTime":"2020-06-01T18:10:08.1421597Z","provisioningState":"Succeeded","tags":{}}]}' + headers: + cache-control: + - no-cache + content-length: + - '166612' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 29 Jan 2021 17:44:54 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - quantum workspace set + Connection: + - keep-alive + ParameterSetName: + - -g -w -l -o + User-Agent: + - python/3.8.2 (Windows-10-10.0.19041-SP0) msrest/0.6.18 msrest_azure/0.6.3 + quantummanagementclient/2019-11-04-preview Azure-SDK-For-Python AZURECLI/2.18.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Quantum/workspaces/validator-workspace-westus?api-version=2019-11-04-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Quantum/workspaces/validator-workspace-westus","name":"validator-workspace-westus","type":"Microsoft.Quantum/workspaces","location":"westus","identity":{"principalId":"dff3fbf8-5dc1-4f86-bf35-e4a19c9cc218","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"properties":{"providers":[{"providerId":"Microsoft","providerSku":"Basic","applicationName":"validator-workspace-westus-Microsoft","provisioningState":"Succeeded"}],"provisioningState":"Succeeded","usable":"Yes","storageAccount":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Storage/storageAccounts/aqvalidatorstorage","endpointUri":"https://validator-workspace-westus.westus.quantum.azure.com"}}' + headers: + cache-control: + - no-cache + content-length: + - '862' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 29 Jan 2021 17:44:54 GMT + etag: + - '"ab00400b-0000-0700-0000-6013b0250000"' + expires: + - '-1' + pragma: + - no-cache + server: + - Kestrel + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - quantum workspace show + Connection: + - keep-alive + ParameterSetName: + - -o + User-Agent: + - python/3.8.2 (Windows-10-10.0.19041-SP0) msrest/0.6.18 msrest_azure/0.6.3 + quantummanagementclient/2019-11-04-preview Azure-SDK-For-Python AZURECLI/2.18.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Quantum/workspaces/validator-workspace-westus?api-version=2019-11-04-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Quantum/workspaces/validator-workspace-westus","name":"validator-workspace-westus","type":"Microsoft.Quantum/workspaces","location":"westus","identity":{"principalId":"dff3fbf8-5dc1-4f86-bf35-e4a19c9cc218","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"properties":{"providers":[{"providerId":"Microsoft","providerSku":"Basic","applicationName":"validator-workspace-westus-Microsoft","provisioningState":"Succeeded"}],"provisioningState":"Succeeded","usable":"Yes","storageAccount":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Storage/storageAccounts/aqvalidatorstorage","endpointUri":"https://validator-workspace-westus.westus.quantum.azure.com"}}' + headers: + cache-control: + - no-cache + content-length: + - '862' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 29 Jan 2021 17:45:48 GMT + etag: + - '"ab00400b-0000-0700-0000-6013b0250000"' + expires: + - '-1' + pragma: + - no-cache + server: + - Kestrel + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: '{"location": "westus", "properties": {"providers": [{"providerId": "Microsoft", + "providerSku": "Basic"}], "storageAccount": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Storage/storageAccounts/aqvalidatorstorage"}, + "identity": {"type": "SystemAssigned"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - quantum workspace create + Connection: + - keep-alive + Content-Length: + - '321' + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - -g -w -l -a -o --skip-role-assignment + User-Agent: + - python/3.8.2 (Windows-10-10.0.19041-SP0) msrest/0.6.18 msrest_azure/0.6.3 + quantummanagementclient/2019-11-04-preview Azure-SDK-For-Python AZURECLI/2.18.0 + accept-language: + - en-US + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Quantum/workspaces/validator-workspace-crdl-westus?api-version=2019-11-04-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Quantum/workspaces/validator-workspace-crdl-westus","name":"validator-workspace-crdl-westus","type":"Microsoft.Quantum/workspaces","location":"westus","identity":{"principalId":"94a8471c-e477-431f-85d3-05ba089c5cad","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"properties":{"providers":[{"providerId":"Microsoft","providerSku":"Basic","applicationName":"validator-workspace-crdl-westus-Microsoft","provisioningState":"Launching"}],"provisioningState":"Accepted","usable":"No","storageAccount":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Storage/storageAccounts/aqvalidatorstorage","endpointUri":"https://validator-workspace-crdl-westus.westus.quantum.azure.com"}}' + headers: + azure-asyncoperation: + - https://management.azure.com/providers/Microsoft.Quantum/locations/WESTUS/operationStatuses/0b936424-066a-4d1d-886e-c8f9fecd2c72?api-version=2019-11-04-preview + cache-control: + - no-cache + content-length: + - '880' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 29 Jan 2021 17:45:50 GMT + etag: + - '"b8005927-0000-0700-0000-601449ce0000"' + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:4d6ac272-7369-45c6-9036-63d733c8519f + server: + - Kestrel + set-cookie: + - ARRAffinity=da3363f6219a86d7191480cb759bc8a0bb5b701fa3394abd6b810baa25bfe8a6;Path=/;HttpOnly;Secure;Domain=rpcontrol2westus.azurewebsites.net + - ARRAffinitySameSite=da3363f6219a86d7191480cb759bc8a0bb5b701fa3394abd6b810baa25bfe8a6;Path=/;HttpOnly;SameSite=None;Secure;Domain=rpcontrol2westus.azurewebsites.net + - ASLBSA=3331f82862a4ff88bb1a72973dcd28451c091d528107b03a0d0da3e7107ab5d2; path=/; + secure + - ASLBSACORS=3331f82862a4ff88bb1a72973dcd28451c091d528107b03a0d0da3e7107ab5d2; + samesite=none; path=/; secure + strict-transport-security: + - max-age=31536000; includeSubDomains + x-azure-ref: + - 0zkkUYAAAAAAMilhaEBRNR5w/mr4FQ2+lU0pDRURHRTAzMDcAZTQ4MjI1M2ItOWUwNS00MDVlLWE4M2YtNTg2ZWUxZDU1M2U0 + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + x-powered-by: + - ASP.NET + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - quantum workspace delete + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - -g -w -o + User-Agent: + - python/3.8.2 (Windows-10-10.0.19041-SP0) msrest/0.6.18 msrest_azure/0.6.3 + quantummanagementclient/2019-11-04-preview Azure-SDK-For-Python AZURECLI/2.18.0 + accept-language: + - en-US + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Quantum/workspaces/validator-workspace-crdl-westus?api-version=2019-11-04-preview + response: + body: + string: 'null' + headers: + cache-control: + - no-cache + content-length: + - '4' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 29 Jan 2021 17:45:51 GMT + etag: + - '"b8005f27-0000-0700-0000-601449d00000"' + expires: + - '-1' + location: + - https://management.azure.com/providers/Microsoft.Quantum/locations/WESTUS/operationStatuses/295af79b-bb66-496a-8e06-cd99b8f8624c?api-version=2019-11-04-preview + pragma: + - no-cache + request-context: + - appId=cid-v1:4d6ac272-7369-45c6-9036-63d733c8519f + server: + - Kestrel + set-cookie: + - ARRAffinity=da3363f6219a86d7191480cb759bc8a0bb5b701fa3394abd6b810baa25bfe8a6;Path=/;HttpOnly;Secure;Domain=rpcontrol2westus.azurewebsites.net + - ARRAffinitySameSite=da3363f6219a86d7191480cb759bc8a0bb5b701fa3394abd6b810baa25bfe8a6;Path=/;HttpOnly;SameSite=None;Secure;Domain=rpcontrol2westus.azurewebsites.net + - ASLBSA=3331f82862a4ff88bb1a72973dcd28451c091d528107b03a0d0da3e7107ab5d2; path=/; + secure + - ASLBSACORS=3331f82862a4ff88bb1a72973dcd28451c091d528107b03a0d0da3e7107ab5d2; + samesite=none; path=/; secure + strict-transport-security: + - max-age=31536000; includeSubDomains + x-azure-ref: + - 00EkUYAAAAADZcV1UXfkWSrNSQrF1ZrIhU0pDRURHRTA1MTIAZTQ4MjI1M2ItOWUwNS00MDVlLWE4M2YtNTg2ZWUxZDU1M2U0 + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-deletes: + - '14999' + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - quantum workspace delete + Connection: + - keep-alive + Cookie: + - ASLBSA=3331f82862a4ff88bb1a72973dcd28451c091d528107b03a0d0da3e7107ab5d2; ASLBSACORS=3331f82862a4ff88bb1a72973dcd28451c091d528107b03a0d0da3e7107ab5d2 + ParameterSetName: + - -g -w -o + User-Agent: + - python/3.8.2 (Windows-10-10.0.19041-SP0) msrest/0.6.18 msrest_azure/0.6.3 + quantummanagementclient/2019-11-04-preview Azure-SDK-For-Python AZURECLI/2.18.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Quantum/workspaces/validator-workspace-crdl-westus?api-version=2019-11-04-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Quantum/workspaces/validator-workspace-crdl-westus","name":"validator-workspace-crdl-westus","type":"Microsoft.Quantum/workspaces","location":"westus","identity":{"principalId":"94a8471c-e477-431f-85d3-05ba089c5cad","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"properties":{"providers":[{"providerId":"Microsoft","providerSku":"Basic","applicationName":"validator-workspace-crdl-westus-Microsoft","provisioningState":"Launching"}],"provisioningState":"Deleting","usable":"No","storageAccount":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aqua-provider-validator/providers/Microsoft.Storage/storageAccounts/aqvalidatorstorage","endpointUri":"https://validator-workspace-crdl-westus.westus.quantum.azure.com"}}' + headers: + cache-control: + - no-cache + content-length: + - '880' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 29 Jan 2021 17:45:51 GMT + etag: + - '"b8005f27-0000-0700-0000-601449d00000"' + expires: + - '-1' + pragma: + - no-cache + server: + - Kestrel + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +version: 1 diff --git a/src/quantum/azext_quantum/tests/latest/test_quantum_jobs.py b/src/quantum/azext_quantum/tests/latest/test_quantum_jobs.py new file mode 100644 index 00000000000..7ccbf8da635 --- /dev/null +++ b/src/quantum/azext_quantum/tests/latest/test_quantum_jobs.py @@ -0,0 +1,79 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- + +import os +import unittest + +from azure_devtools.scenario_tests import AllowLargeResponse, live_only +from azure.cli.testsdk import (ScenarioTest, ResourceGroupPreparer) + +from .utils import TEST_WORKSPACE, TEST_RG, TEST_WORKSPACE_LOCATION, TEST_SUBS +from .utils import TEST_WORKSPACE_JOBS, TEST_RG_JOBS, TEST_WORKSPACE_LOCATION_JOBS +from ..._client_factory import _get_data_credentials +from ...operations.workspace import WorkspaceInfo +from ...operations.target import TargetInfo +from ...operations.job import _generate_submit_args, _parse_blob_url + +TEST_DIR = os.path.abspath(os.path.join(os.path.abspath(__file__), '..')) + + +class QuantumJobsScenarioTest(ScenarioTest): + + def test_jobs(self): + # set current workspace: + self.cmd(f'az quantum workspace set -w {TEST_WORKSPACE_JOBS} -g {TEST_RG_JOBS} -l {TEST_WORKSPACE_LOCATION_JOBS}') + + # list + targets = self.cmd('az quantum target list -o json').get_output_in_json() + assert len(targets) > 0 + + @live_only() + def test_submit_args(self): + ws = WorkspaceInfo(self, TEST_RG_JOBS, TEST_WORKSPACE_JOBS, TEST_WORKSPACE_LOCATION_JOBS) + target = TargetInfo(self, 'ionq.simulator') + + token = _get_data_credentials(self.cli_ctx, TEST_SUBS).get_token().token + assert len(token) > 0 + + args = _generate_submit_args(["--foo", "--bar"], ws, target, token, project=None, job_name=None, storage=None, shots=None) + self.assertEquals(args[0], "dotnet") + self.assertEquals(args[1], "run") + self.assertEquals(args[2], "--no-build") + self.assertIn("--", args) + self.assertIn("submit", args) + self.assertIn(TEST_WORKSPACE_JOBS, args) + self.assertIn(TEST_RG_JOBS, args) + self.assertIn("ionq.simulator", args) + self.assertIn("--aad-token", args) + self.assertIn(token, args) + self.assertIn("--foo", args) + self.assertIn("--bar", args) + self.assertNotIn("--project", args) + self.assertNotIn("--job-name", args) + self.assertNotIn("--storage", args) + self.assertNotIn("--shots", args) + + args = _generate_submit_args(["--foo", "--bar"], ws, target, token, "../other/path", "job-name", 1234, "az-stor") + self.assertEquals(args[0], "dotnet") + self.assertEquals(args[1], "run") + self.assertEquals(args[2], "--no-build") + self.assertIn("../other/path", args) + self.assertIn("job-name", args) + self.assertIn("az-stor", args) + self.assertIn(1234, args) + self.assertIn("--project", args) + self.assertIn("--job-name", args) + self.assertIn("--storage", args) + self.assertIn("--shots", args) + + def test_parse_blob_url(self): + sas = "sv=2018-03-28&sr=c&sig=some-sig&sp=racwl" + url = f"https://getest2.blob.core.windows.net/qio/rawOutputData?{sas}" + args = _parse_blob_url(url) + + self.assertEquals(args['account_name'], "getest2") + self.assertEquals(args['container'], "qio") + self.assertEquals(args['blob'], "rawOutputData") + self.assertEquals(args['sas_token'], sas) diff --git a/src/quantum/azext_quantum/tests/latest/test_quantum_targets.py b/src/quantum/azext_quantum/tests/latest/test_quantum_targets.py new file mode 100644 index 00000000000..19d31dc026f --- /dev/null +++ b/src/quantum/azext_quantum/tests/latest/test_quantum_targets.py @@ -0,0 +1,44 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- + +import os +import unittest + +from azure_devtools.scenario_tests import AllowLargeResponse +from azure.cli.testsdk import (ScenarioTest, ResourceGroupPreparer) + +from .utils import TEST_WORKSPACE_TARGET, TEST_RG_TARGET, TEST_WORKSPACE_LOCATION_TARGET, TEST_SUBS + +TEST_DIR = os.path.abspath(os.path.join(os.path.abspath(__file__), '..')) + + +class QuantumTargetsScenarioTest(ScenarioTest): + + def test_targets(self): + # set current workspace: + self.cmd(f'az quantum workspace set -g {TEST_RG_TARGET} -w {TEST_WORKSPACE_TARGET} -l {TEST_WORKSPACE_LOCATION_TARGET}') + + # clear current target + self.cmd(f'az quantum target clear') + + # list + targets = self.cmd('az quantum target list -o json').get_output_in_json() + assert len(targets) > 0 + + # set + self.cmd(f'az quantum target set -t microsoft.paralleltempering.cpu -o json', checks=[ + self.check("targetId", "microsoft.paralleltempering.cpu") + ]) + + # show + self.cmd(f'az quantum target show -o json', checks=[ + self.check("targetId", "microsoft.paralleltempering.cpu") + ]) + self.cmd(f'az quantum target show -t microsoft.simulatedannealing.cpu -o json', checks=[ + self.check("targetId", "microsoft.simulatedannealing.cpu") + ]) + + # clear + self.cmd(f'az quantum target clear') diff --git a/src/quantum/azext_quantum/tests/latest/test_quantum_workspace.py b/src/quantum/azext_quantum/tests/latest/test_quantum_workspace.py new file mode 100644 index 00000000000..b93abca88a6 --- /dev/null +++ b/src/quantum/azext_quantum/tests/latest/test_quantum_workspace.py @@ -0,0 +1,54 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- + +import os +import unittest + +from azure_devtools.scenario_tests import AllowLargeResponse +from azure.cli.testsdk import (ScenarioTest, ResourceGroupPreparer) + +from .utils import TEST_WORKSPACE, TEST_RG, TEST_SUBS, TEST_WORKSPACE_CREATE_DELETE, TEST_WORKSPACE_LOCATION, TEST_WORKSPACE_SA + +TEST_DIR = os.path.abspath(os.path.join(os.path.abspath(__file__), '..')) + + +class QuantumWorkspacesScenarioTest(ScenarioTest): + + @AllowLargeResponse() + def test_workspace(self): + # clear + self.cmd(f'az quantum workspace clear') + + # list + workspaces = self.cmd(f'az quantum workspace list -l {TEST_WORKSPACE_LOCATION} -o json').get_output_in_json() + assert len(workspaces) > 0 + self.cmd('az quantum workspace list -o json', checks=[ + self.check(f"[?name=='{TEST_WORKSPACE}'].resourceGroup | [0]", TEST_RG) + ]) + + # set + self.cmd(f'az quantum workspace set -g {TEST_RG} -w {TEST_WORKSPACE} -l {TEST_WORKSPACE_LOCATION} -o json', checks=[ + self.check("name", TEST_WORKSPACE) + ]) + + # show + self.cmd(f'az quantum workspace show -o json', checks=[ + self.check("name", TEST_WORKSPACE) + ]) + + # clear + self.cmd(f'az quantum workspace clear') + + # create + self.cmd(f'az quantum workspace create -g {TEST_RG} -w {TEST_WORKSPACE_CREATE_DELETE} -l {TEST_WORKSPACE_LOCATION} -a {TEST_WORKSPACE_SA} -o json --skip-role-assignment', checks=[ + self.check("name", TEST_WORKSPACE_CREATE_DELETE), + self.check("provisioningState", "Accepted") # Status is accepted since we're not linking the storage account. + ]) + + # delete + self.cmd(f'az quantum workspace delete -g {TEST_RG} -w {TEST_WORKSPACE_CREATE_DELETE} -o json', checks=[ + self.check("name", TEST_WORKSPACE_CREATE_DELETE), + self.check("provisioningState", "Deleting") + ]) diff --git a/src/quantum/azext_quantum/tests/latest/utils.py b/src/quantum/azext_quantum/tests/latest/utils.py new file mode 100644 index 00000000000..c1fec90387f --- /dev/null +++ b/src/quantum/azext_quantum/tests/latest/utils.py @@ -0,0 +1,17 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- + +TEST_SUBS = "677fc922-91d0-4bf6-9b06-4274d319a0fa" +TEST_RG = 'aqua-provider-validator' +TEST_RG_JOBS = 'testalias-e2e-tests-canary-rg' +TEST_RG_TARGET = 'aqua-provider-validator' +TEST_WORKSPACE = 'validator-workspace-westus' +TEST_WORKSPACE_JOBS = 'e2e-tests-workspace-ionq' +TEST_WORKSPACE_TARGET = 'validator-qio-parallel-tempering-cpu-eastus2euap' +TEST_WORKSPACE_CREATE_DELETE = 'validator-workspace-crdl-westus' +TEST_WORKSPACE_SA = 'aqvalidatorstorage' +TEST_WORKSPACE_LOCATION = 'westus' +TEST_WORKSPACE_LOCATION_JOBS = 'eastus2euap' +TEST_WORKSPACE_LOCATION_TARGET = 'eastus2euap' diff --git a/src/quantum/azext_quantum/vendored_sdks/__init__.py b/src/quantum/azext_quantum/vendored_sdks/__init__.py new file mode 100644 index 00000000000..a5b81f3bde4 --- /dev/null +++ b/src/quantum/azext_quantum/vendored_sdks/__init__.py @@ -0,0 +1,6 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- + +__import__('pkg_resources').declare_namespace(__name__) diff --git a/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/__init__.py b/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/__init__.py new file mode 100644 index 00000000000..aad4cbdb96a --- /dev/null +++ b/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/__init__.py @@ -0,0 +1,18 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from .quantum_management_client import QuantumManagementClient +from .version import VERSION + +__all__ = ['QuantumManagementClient'] + +__version__ = VERSION + diff --git a/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/__init__.py b/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/__init__.py new file mode 100644 index 00000000000..36857a81cf6 --- /dev/null +++ b/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/__init__.py @@ -0,0 +1,98 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +try: + from .provider_py3 import Provider + from .quantum_workspace_identity_py3 import QuantumWorkspaceIdentity + from .quantum_workspace_py3 import QuantumWorkspace + from .provider_properties_aad_py3 import ProviderPropertiesAad + from .provider_properties_managed_application_py3 import ProviderPropertiesManagedApplication + from .target_description_py3 import TargetDescription + from .quota_dimension_py3 import QuotaDimension + from .pricing_detail_py3 import PricingDetail + from .sku_description_py3 import SkuDescription + from .pricing_dimension_py3 import PricingDimension + from .provider_properties_py3 import ProviderProperties + from .provider_description_py3 import ProviderDescription + from .tags_object_py3 import TagsObject + from .operation_display_py3 import OperationDisplay + from .operation_py3 import Operation + from .proxy_resource_py3 import ProxyResource + from .azure_entity_resource_py3 import AzureEntityResource + from .resource_py3 import Resource + from .tracked_resource_py3 import TrackedResource + from .error_additional_info_py3 import ErrorAdditionalInfo + from .error_response_error_py3 import ErrorResponseError + from .error_response_py3 import ErrorResponse, ErrorResponseException +except (SyntaxError, ImportError): + from .provider import Provider + from .quantum_workspace_identity import QuantumWorkspaceIdentity + from .quantum_workspace import QuantumWorkspace + from .provider_properties_aad import ProviderPropertiesAad + from .provider_properties_managed_application import ProviderPropertiesManagedApplication + from .target_description import TargetDescription + from .quota_dimension import QuotaDimension + from .pricing_detail import PricingDetail + from .sku_description import SkuDescription + from .pricing_dimension import PricingDimension + from .provider_properties import ProviderProperties + from .provider_description import ProviderDescription + from .tags_object import TagsObject + from .operation_display import OperationDisplay + from .operation import Operation + from .proxy_resource import ProxyResource + from .azure_entity_resource import AzureEntityResource + from .resource import Resource + from .tracked_resource import TrackedResource + from .error_additional_info import ErrorAdditionalInfo + from .error_response_error import ErrorResponseError + from .error_response import ErrorResponse, ErrorResponseException +from .quantum_workspace_paged import QuantumWorkspacePaged +from .provider_description_paged import ProviderDescriptionPaged +from .operation_paged import OperationPaged +from .quantum_management_client_enums import ( + Status, + UsableStatus, + ProvisioningStatus, + ResourceIdentityType, +) + +__all__ = [ + 'Provider', + 'QuantumWorkspaceIdentity', + 'QuantumWorkspace', + 'ProviderPropertiesAad', + 'ProviderPropertiesManagedApplication', + 'TargetDescription', + 'QuotaDimension', + 'PricingDetail', + 'SkuDescription', + 'PricingDimension', + 'ProviderProperties', + 'ProviderDescription', + 'TagsObject', + 'OperationDisplay', + 'Operation', + 'ProxyResource', + 'AzureEntityResource', + 'Resource', + 'TrackedResource', + 'ErrorAdditionalInfo', + 'ErrorResponseError', + 'ErrorResponse', 'ErrorResponseException', + 'QuantumWorkspacePaged', + 'ProviderDescriptionPaged', + 'OperationPaged', + 'Status', + 'UsableStatus', + 'ProvisioningStatus', + 'ResourceIdentityType', +] diff --git a/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/azure_entity_resource.py b/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/azure_entity_resource.py new file mode 100644 index 00000000000..3bffaab8d35 --- /dev/null +++ b/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/azure_entity_resource.py @@ -0,0 +1,50 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from .resource import Resource + + +class AzureEntityResource(Resource): + """The resource model definition for a Azure Resource Manager resource with an + etag. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Fully qualified resource Id for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + :vartype id: str + :ivar name: The name of the resource + :vartype name: str + :ivar type: The type of the resource. Ex- + Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. + :vartype type: str + :ivar etag: Resource Etag. + :vartype etag: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(AzureEntityResource, self).__init__(**kwargs) + self.etag = None diff --git a/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/azure_entity_resource_py3.py b/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/azure_entity_resource_py3.py new file mode 100644 index 00000000000..d3f80d87498 --- /dev/null +++ b/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/azure_entity_resource_py3.py @@ -0,0 +1,50 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from .resource_py3 import Resource + + +class AzureEntityResource(Resource): + """The resource model definition for a Azure Resource Manager resource with an + etag. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Fully qualified resource Id for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + :vartype id: str + :ivar name: The name of the resource + :vartype name: str + :ivar type: The type of the resource. Ex- + Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. + :vartype type: str + :ivar etag: Resource Etag. + :vartype etag: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs) -> None: + super(AzureEntityResource, self).__init__(**kwargs) + self.etag = None diff --git a/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/error_additional_info.py b/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/error_additional_info.py new file mode 100644 index 00000000000..8667aa7f24b --- /dev/null +++ b/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/error_additional_info.py @@ -0,0 +1,40 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class ErrorAdditionalInfo(Model): + """The resource management error additional info. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar type: The additional info type. + :vartype type: str + :ivar info: The additional info. + :vartype info: object + """ + + _validation = { + 'type': {'readonly': True}, + 'info': {'readonly': True}, + } + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + 'info': {'key': 'info', 'type': 'object'}, + } + + def __init__(self, **kwargs): + super(ErrorAdditionalInfo, self).__init__(**kwargs) + self.type = None + self.info = None diff --git a/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/error_additional_info_py3.py b/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/error_additional_info_py3.py new file mode 100644 index 00000000000..a18439b9247 --- /dev/null +++ b/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/error_additional_info_py3.py @@ -0,0 +1,40 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class ErrorAdditionalInfo(Model): + """The resource management error additional info. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar type: The additional info type. + :vartype type: str + :ivar info: The additional info. + :vartype info: object + """ + + _validation = { + 'type': {'readonly': True}, + 'info': {'readonly': True}, + } + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + 'info': {'key': 'info', 'type': 'object'}, + } + + def __init__(self, **kwargs) -> None: + super(ErrorAdditionalInfo, self).__init__(**kwargs) + self.type = None + self.info = None diff --git a/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/error_definition.py b/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/error_definition.py new file mode 100644 index 00000000000..b5247402dd7 --- /dev/null +++ b/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/error_definition.py @@ -0,0 +1,46 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class ErrorDefinition(Model): + """Error definition. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar code: Service specific error code which serves as the substatus for + the HTTP error code. + :vartype code: str + :ivar message: Description of the error. + :vartype message: str + :ivar details: Internal error details. + :vartype details: list[~quantum.models.ErrorDefinition] + """ + + _validation = { + 'code': {'readonly': True}, + 'message': {'readonly': True}, + 'details': {'readonly': True}, + } + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + 'details': {'key': 'details', 'type': '[ErrorDefinition]'}, + } + + def __init__(self, **kwargs): + super(ErrorDefinition, self).__init__(**kwargs) + self.code = None + self.message = None + self.details = None diff --git a/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/error_definition_py3.py b/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/error_definition_py3.py new file mode 100644 index 00000000000..d83cf343f54 --- /dev/null +++ b/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/error_definition_py3.py @@ -0,0 +1,46 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class ErrorDefinition(Model): + """Error definition. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar code: Service specific error code which serves as the substatus for + the HTTP error code. + :vartype code: str + :ivar message: Description of the error. + :vartype message: str + :ivar details: Internal error details. + :vartype details: list[~quantum.models.ErrorDefinition] + """ + + _validation = { + 'code': {'readonly': True}, + 'message': {'readonly': True}, + 'details': {'readonly': True}, + } + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + 'details': {'key': 'details', 'type': '[ErrorDefinition]'}, + } + + def __init__(self, **kwargs) -> None: + super(ErrorDefinition, self).__init__(**kwargs) + self.code = None + self.message = None + self.details = None diff --git a/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/error_response.py b/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/error_response.py new file mode 100644 index 00000000000..2dd5f204073 --- /dev/null +++ b/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/error_response.py @@ -0,0 +1,41 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model +from msrest.exceptions import HttpOperationError + + +class ErrorResponse(Model): + """The resource management error response. + + :param error: The error object. + :type error: ~azure.quantum.models.ErrorResponseError + """ + + _attribute_map = { + 'error': {'key': 'error', 'type': 'ErrorResponseError'}, + } + + def __init__(self, **kwargs): + super(ErrorResponse, self).__init__(**kwargs) + self.error = kwargs.get('error', None) + + +class ErrorResponseException(HttpOperationError): + """Server responsed with exception of type: 'ErrorResponse'. + + :param deserialize: A deserializer + :param response: Server response to be deserialized. + """ + + def __init__(self, deserialize, response, *args): + + super(ErrorResponseException, self).__init__(deserialize, response, 'ErrorResponse', *args) diff --git a/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/error_response_error.py b/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/error_response_error.py new file mode 100644 index 00000000000..f9d594e8d5a --- /dev/null +++ b/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/error_response_error.py @@ -0,0 +1,55 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class ErrorResponseError(Model): + """The error object. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar code: The error code. + :vartype code: str + :ivar message: The error message. + :vartype message: str + :ivar target: The error target. + :vartype target: str + :ivar details: The error details. + :vartype details: list[~azure.quantum.models.ErrorResponse] + :ivar additional_info: The error additional info. + :vartype additional_info: list[~azure.quantum.models.ErrorAdditionalInfo] + """ + + _validation = { + 'code': {'readonly': True}, + 'message': {'readonly': True}, + 'target': {'readonly': True}, + 'details': {'readonly': True}, + 'additional_info': {'readonly': True}, + } + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + 'target': {'key': 'target', 'type': 'str'}, + 'details': {'key': 'details', 'type': '[ErrorResponse]'}, + 'additional_info': {'key': 'additionalInfo', 'type': '[ErrorAdditionalInfo]'}, + } + + def __init__(self, **kwargs): + super(ErrorResponseError, self).__init__(**kwargs) + self.code = None + self.message = None + self.target = None + self.details = None + self.additional_info = None diff --git a/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/error_response_error_py3.py b/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/error_response_error_py3.py new file mode 100644 index 00000000000..1de762176c0 --- /dev/null +++ b/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/error_response_error_py3.py @@ -0,0 +1,55 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class ErrorResponseError(Model): + """The error object. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar code: The error code. + :vartype code: str + :ivar message: The error message. + :vartype message: str + :ivar target: The error target. + :vartype target: str + :ivar details: The error details. + :vartype details: list[~azure.quantum.models.ErrorResponse] + :ivar additional_info: The error additional info. + :vartype additional_info: list[~azure.quantum.models.ErrorAdditionalInfo] + """ + + _validation = { + 'code': {'readonly': True}, + 'message': {'readonly': True}, + 'target': {'readonly': True}, + 'details': {'readonly': True}, + 'additional_info': {'readonly': True}, + } + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + 'target': {'key': 'target', 'type': 'str'}, + 'details': {'key': 'details', 'type': '[ErrorResponse]'}, + 'additional_info': {'key': 'additionalInfo', 'type': '[ErrorAdditionalInfo]'}, + } + + def __init__(self, **kwargs) -> None: + super(ErrorResponseError, self).__init__(**kwargs) + self.code = None + self.message = None + self.target = None + self.details = None + self.additional_info = None diff --git a/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/error_response_py3.py b/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/error_response_py3.py new file mode 100644 index 00000000000..938563c0cca --- /dev/null +++ b/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/error_response_py3.py @@ -0,0 +1,41 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model +from msrest.exceptions import HttpOperationError + + +class ErrorResponse(Model): + """The resource management error response. + + :param error: The error object. + :type error: ~azure.quantum.models.ErrorResponseError + """ + + _attribute_map = { + 'error': {'key': 'error', 'type': 'ErrorResponseError'}, + } + + def __init__(self, *, error=None, **kwargs) -> None: + super(ErrorResponse, self).__init__(**kwargs) + self.error = error + + +class ErrorResponseException(HttpOperationError): + """Server responsed with exception of type: 'ErrorResponse'. + + :param deserialize: A deserializer + :param response: Server response to be deserialized. + """ + + def __init__(self, deserialize, response, *args): + + super(ErrorResponseException, self).__init__(deserialize, response, 'ErrorResponse', *args) diff --git a/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/operation.py b/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/operation.py new file mode 100644 index 00000000000..ffd625e03aa --- /dev/null +++ b/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/operation.py @@ -0,0 +1,36 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class Operation(Model): + """Operation provided by provider. + + :param name: Name of the operation + :type name: str + :param is_data_action: Indicates whether the operation is a data action + :type is_data_action: bool + :param display: Properties of the operation + :type display: ~azure.quantum.models.OperationDisplay + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'is_data_action': {'key': 'isDataAction', 'type': 'bool'}, + 'display': {'key': 'display', 'type': 'OperationDisplay'}, + } + + def __init__(self, **kwargs): + super(Operation, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.is_data_action = kwargs.get('is_data_action', None) + self.display = kwargs.get('display', None) diff --git a/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/operation_display.py b/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/operation_display.py new file mode 100644 index 00000000000..89c4bdd6ccb --- /dev/null +++ b/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/operation_display.py @@ -0,0 +1,40 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class OperationDisplay(Model): + """Properties of the operation. + + :param provider: Provider name + :type provider: str + :param resource: Resource name + :type resource: str + :param operation: Operation name + :type operation: str + :param description: Description of the operation + :type description: str + """ + + _attribute_map = { + 'provider': {'key': 'provider', 'type': 'str'}, + 'resource': {'key': 'resource', 'type': 'str'}, + 'operation': {'key': 'operation', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(OperationDisplay, self).__init__(**kwargs) + self.provider = kwargs.get('provider', None) + self.resource = kwargs.get('resource', None) + self.operation = kwargs.get('operation', None) + self.description = kwargs.get('description', None) diff --git a/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/operation_display_py3.py b/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/operation_display_py3.py new file mode 100644 index 00000000000..fa3740dfc65 --- /dev/null +++ b/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/operation_display_py3.py @@ -0,0 +1,40 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class OperationDisplay(Model): + """Properties of the operation. + + :param provider: Provider name + :type provider: str + :param resource: Resource name + :type resource: str + :param operation: Operation name + :type operation: str + :param description: Description of the operation + :type description: str + """ + + _attribute_map = { + 'provider': {'key': 'provider', 'type': 'str'}, + 'resource': {'key': 'resource', 'type': 'str'}, + 'operation': {'key': 'operation', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + } + + def __init__(self, *, provider: str=None, resource: str=None, operation: str=None, description: str=None, **kwargs) -> None: + super(OperationDisplay, self).__init__(**kwargs) + self.provider = provider + self.resource = resource + self.operation = operation + self.description = description diff --git a/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/operation_paged.py b/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/operation_paged.py new file mode 100644 index 00000000000..e8bccc0a4a8 --- /dev/null +++ b/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/operation_paged.py @@ -0,0 +1,27 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.paging import Paged + + +class OperationPaged(Paged): + """ + A paging container for iterating over a list of :class:`Operation ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[Operation]'} + } + + def __init__(self, *args, **kwargs): + + super(OperationPaged, self).__init__(*args, **kwargs) diff --git a/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/operation_py3.py b/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/operation_py3.py new file mode 100644 index 00000000000..4d6695576cc --- /dev/null +++ b/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/operation_py3.py @@ -0,0 +1,36 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class Operation(Model): + """Operation provided by provider. + + :param name: Name of the operation + :type name: str + :param is_data_action: Indicates whether the operation is a data action + :type is_data_action: bool + :param display: Properties of the operation + :type display: ~azure.quantum.models.OperationDisplay + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'is_data_action': {'key': 'isDataAction', 'type': 'bool'}, + 'display': {'key': 'display', 'type': 'OperationDisplay'}, + } + + def __init__(self, *, name: str=None, is_data_action: bool=None, display=None, **kwargs) -> None: + super(Operation, self).__init__(**kwargs) + self.name = name + self.is_data_action = is_data_action + self.display = display diff --git a/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/pricing_detail.py b/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/pricing_detail.py new file mode 100644 index 00000000000..e3294d78387 --- /dev/null +++ b/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/pricing_detail.py @@ -0,0 +1,32 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class PricingDetail(Model): + """Detailed pricing information for an sku. + + :param id: Unique id for this pricing information. + :type id: str + :param value: The unit cost of this sku. + :type value: str + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'value': {'key': 'value', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(PricingDetail, self).__init__(**kwargs) + self.id = kwargs.get('id', None) + self.value = kwargs.get('value', None) diff --git a/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/pricing_detail_py3.py b/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/pricing_detail_py3.py new file mode 100644 index 00000000000..1f220717b39 --- /dev/null +++ b/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/pricing_detail_py3.py @@ -0,0 +1,32 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class PricingDetail(Model): + """Detailed pricing information for an sku. + + :param id: Unique id for this pricing information. + :type id: str + :param value: The unit cost of this sku. + :type value: str + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'value': {'key': 'value', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, value: str=None, **kwargs) -> None: + super(PricingDetail, self).__init__(**kwargs) + self.id = id + self.value = value diff --git a/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/pricing_dimension.py b/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/pricing_dimension.py new file mode 100644 index 00000000000..bb72e9e14dd --- /dev/null +++ b/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/pricing_dimension.py @@ -0,0 +1,32 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class PricingDimension(Model): + """Information about pricing dimension. + + :param id: Unique id of this pricing dimension. + :type id: str + :param name: The display name of this pricing dimension. + :type name: str + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(PricingDimension, self).__init__(**kwargs) + self.id = kwargs.get('id', None) + self.name = kwargs.get('name', None) diff --git a/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/pricing_dimension_py3.py b/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/pricing_dimension_py3.py new file mode 100644 index 00000000000..a8d98bce326 --- /dev/null +++ b/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/pricing_dimension_py3.py @@ -0,0 +1,32 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class PricingDimension(Model): + """Information about pricing dimension. + + :param id: Unique id of this pricing dimension. + :type id: str + :param name: The display name of this pricing dimension. + :type name: str + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, name: str=None, **kwargs) -> None: + super(PricingDimension, self).__init__(**kwargs) + self.id = id + self.name = name diff --git a/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/provider.py b/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/provider.py new file mode 100644 index 00000000000..b650ce2509c --- /dev/null +++ b/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/provider.py @@ -0,0 +1,54 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class Provider(Model): + """Information about a Provider. A Provider is an entity that offers Targets + to run Azure Quantum Jobs. + + :param provider_id: Unique id of this provider. + :type provider_id: str + :param provider_sku: The sku associated with pricing information for this + provider. + :type provider_sku: str + :param instance_uri: A Uri identifying the specific instance of this + provider. + :type instance_uri: str + :param application_name: The provider's marketplace application display + name. + :type application_name: str + :param provisioning_state: Provisioning status field. Possible values + include: 'Succeeded', 'Launching', 'Updating', 'Deleting', 'Deleted', + 'Failed' + :type provisioning_state: str or ~azure.quantum.models.Status + :param resource_usage_id: Id to track resource usage for the provider. + :type resource_usage_id: str + """ + + _attribute_map = { + 'provider_id': {'key': 'providerId', 'type': 'str'}, + 'provider_sku': {'key': 'providerSku', 'type': 'str'}, + 'instance_uri': {'key': 'instanceUri', 'type': 'str'}, + 'application_name': {'key': 'applicationName', 'type': 'str'}, + 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, + 'resource_usage_id': {'key': 'resourceUsageId', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(Provider, self).__init__(**kwargs) + self.provider_id = kwargs.get('provider_id', None) + self.provider_sku = kwargs.get('provider_sku', None) + self.instance_uri = kwargs.get('instance_uri', None) + self.application_name = kwargs.get('application_name', None) + self.provisioning_state = kwargs.get('provisioning_state', None) + self.resource_usage_id = kwargs.get('resource_usage_id', None) diff --git a/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/provider_description.py b/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/provider_description.py new file mode 100644 index 00000000000..4bc695bbd0f --- /dev/null +++ b/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/provider_description.py @@ -0,0 +1,44 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class ProviderDescription(Model): + """Information about an offering. A provider offering is an entity that offers + Targets to run Azure Quantum Jobs. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Unique provider's id. + :type id: str + :ivar name: Provider's display name. + :vartype name: str + :param properties: A list of provider-specific properties. + :type properties: ~azure.quantum.models.ProviderProperties + """ + + _validation = { + 'name': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'properties': {'key': 'properties', 'type': 'ProviderProperties'}, + } + + def __init__(self, **kwargs): + super(ProviderDescription, self).__init__(**kwargs) + self.id = kwargs.get('id', None) + self.name = None + self.properties = kwargs.get('properties', None) diff --git a/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/provider_description_paged.py b/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/provider_description_paged.py new file mode 100644 index 00000000000..455a5cf3ed2 --- /dev/null +++ b/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/provider_description_paged.py @@ -0,0 +1,27 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.paging import Paged + + +class ProviderDescriptionPaged(Paged): + """ + A paging container for iterating over a list of :class:`ProviderDescription ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[ProviderDescription]'} + } + + def __init__(self, *args, **kwargs): + + super(ProviderDescriptionPaged, self).__init__(*args, **kwargs) diff --git a/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/provider_description_py3.py b/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/provider_description_py3.py new file mode 100644 index 00000000000..9cd6bade72a --- /dev/null +++ b/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/provider_description_py3.py @@ -0,0 +1,44 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class ProviderDescription(Model): + """Information about an offering. A provider offering is an entity that offers + Targets to run Azure Quantum Jobs. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Unique provider's id. + :type id: str + :ivar name: Provider's display name. + :vartype name: str + :param properties: A list of provider-specific properties. + :type properties: ~azure.quantum.models.ProviderProperties + """ + + _validation = { + 'name': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'properties': {'key': 'properties', 'type': 'ProviderProperties'}, + } + + def __init__(self, *, id: str=None, properties=None, **kwargs) -> None: + super(ProviderDescription, self).__init__(**kwargs) + self.id = id + self.name = None + self.properties = properties diff --git a/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/provider_properties.py b/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/provider_properties.py new file mode 100644 index 00000000000..7ef808fcdea --- /dev/null +++ b/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/provider_properties.py @@ -0,0 +1,76 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class ProviderProperties(Model): + """Provider properties. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar description: A description about this provider. + :vartype description: str + :ivar provider_type: Provider type. + :vartype provider_type: str + :ivar company: Company name. + :vartype company: str + :ivar default_endpoint: Provider's default endpoint. + :vartype default_endpoint: str + :param aad: Azure Active Directory info. + :type aad: ~azure.quantum.models.ProviderPropertiesAad + :param managed_application: Provider's Managed-Application info + :type managed_application: + ~azure.quantum.models.ProviderPropertiesManagedApplication + :param targets: The list of targets available from this provider. + :type targets: list[~azure.quantum.models.TargetDescription] + :param skus: The list of skus available from this provider. + :type skus: list[~azure.quantum.models.SkuDescription] + :param quota_dimensions: The list of quota dimensions from the provider. + :type quota_dimensions: list[~azure.quantum.models.QuotaDimension] + :param pricing_dimensions: The list of pricing dimensions from the + provider. + :type pricing_dimensions: list[~azure.quantum.models.PricingDimension] + """ + + _validation = { + 'description': {'readonly': True}, + 'provider_type': {'readonly': True}, + 'company': {'readonly': True}, + 'default_endpoint': {'readonly': True}, + } + + _attribute_map = { + 'description': {'key': 'description', 'type': 'str'}, + 'provider_type': {'key': 'providerType', 'type': 'str'}, + 'company': {'key': 'company', 'type': 'str'}, + 'default_endpoint': {'key': 'defaultEndpoint', 'type': 'str'}, + 'aad': {'key': 'aad', 'type': 'ProviderPropertiesAad'}, + 'managed_application': {'key': 'managedApplication', 'type': 'ProviderPropertiesManagedApplication'}, + 'targets': {'key': 'targets', 'type': '[TargetDescription]'}, + 'skus': {'key': 'skus', 'type': '[SkuDescription]'}, + 'quota_dimensions': {'key': 'quotaDimensions', 'type': '[QuotaDimension]'}, + 'pricing_dimensions': {'key': 'pricingDimensions', 'type': '[PricingDimension]'}, + } + + def __init__(self, **kwargs): + super(ProviderProperties, self).__init__(**kwargs) + self.description = None + self.provider_type = None + self.company = None + self.default_endpoint = None + self.aad = kwargs.get('aad', None) + self.managed_application = kwargs.get('managed_application', None) + self.targets = kwargs.get('targets', None) + self.skus = kwargs.get('skus', None) + self.quota_dimensions = kwargs.get('quota_dimensions', None) + self.pricing_dimensions = kwargs.get('pricing_dimensions', None) diff --git a/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/provider_properties_aad.py b/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/provider_properties_aad.py new file mode 100644 index 00000000000..63f86eafea3 --- /dev/null +++ b/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/provider_properties_aad.py @@ -0,0 +1,40 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class ProviderPropertiesAad(Model): + """Azure Active Directory info. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar application_id: Provider's application id. + :vartype application_id: str + :ivar tenant_id: Provider's tenant id. + :vartype tenant_id: str + """ + + _validation = { + 'application_id': {'readonly': True}, + 'tenant_id': {'readonly': True}, + } + + _attribute_map = { + 'application_id': {'key': 'applicationId', 'type': 'str'}, + 'tenant_id': {'key': 'tenantId', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ProviderPropertiesAad, self).__init__(**kwargs) + self.application_id = None + self.tenant_id = None diff --git a/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/provider_properties_aad_py3.py b/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/provider_properties_aad_py3.py new file mode 100644 index 00000000000..1ee0a77b3be --- /dev/null +++ b/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/provider_properties_aad_py3.py @@ -0,0 +1,40 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class ProviderPropertiesAad(Model): + """Azure Active Directory info. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar application_id: Provider's application id. + :vartype application_id: str + :ivar tenant_id: Provider's tenant id. + :vartype tenant_id: str + """ + + _validation = { + 'application_id': {'readonly': True}, + 'tenant_id': {'readonly': True}, + } + + _attribute_map = { + 'application_id': {'key': 'applicationId', 'type': 'str'}, + 'tenant_id': {'key': 'tenantId', 'type': 'str'}, + } + + def __init__(self, **kwargs) -> None: + super(ProviderPropertiesAad, self).__init__(**kwargs) + self.application_id = None + self.tenant_id = None diff --git a/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/provider_properties_managed_application.py b/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/provider_properties_managed_application.py new file mode 100644 index 00000000000..30c0b86b5d5 --- /dev/null +++ b/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/provider_properties_managed_application.py @@ -0,0 +1,40 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class ProviderPropertiesManagedApplication(Model): + """Provider's Managed-Application info. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar publisher_id: Provider's publisher id. + :vartype publisher_id: str + :ivar offer_id: Provider's offer id. + :vartype offer_id: str + """ + + _validation = { + 'publisher_id': {'readonly': True}, + 'offer_id': {'readonly': True}, + } + + _attribute_map = { + 'publisher_id': {'key': 'publisherId', 'type': 'str'}, + 'offer_id': {'key': 'offerId', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ProviderPropertiesManagedApplication, self).__init__(**kwargs) + self.publisher_id = None + self.offer_id = None diff --git a/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/provider_properties_managed_application_py3.py b/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/provider_properties_managed_application_py3.py new file mode 100644 index 00000000000..01c56718053 --- /dev/null +++ b/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/provider_properties_managed_application_py3.py @@ -0,0 +1,40 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class ProviderPropertiesManagedApplication(Model): + """Provider's Managed-Application info. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar publisher_id: Provider's publisher id. + :vartype publisher_id: str + :ivar offer_id: Provider's offer id. + :vartype offer_id: str + """ + + _validation = { + 'publisher_id': {'readonly': True}, + 'offer_id': {'readonly': True}, + } + + _attribute_map = { + 'publisher_id': {'key': 'publisherId', 'type': 'str'}, + 'offer_id': {'key': 'offerId', 'type': 'str'}, + } + + def __init__(self, **kwargs) -> None: + super(ProviderPropertiesManagedApplication, self).__init__(**kwargs) + self.publisher_id = None + self.offer_id = None diff --git a/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/provider_properties_py3.py b/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/provider_properties_py3.py new file mode 100644 index 00000000000..ee478031b68 --- /dev/null +++ b/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/provider_properties_py3.py @@ -0,0 +1,76 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class ProviderProperties(Model): + """Provider properties. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar description: A description about this provider. + :vartype description: str + :ivar provider_type: Provider type. + :vartype provider_type: str + :ivar company: Company name. + :vartype company: str + :ivar default_endpoint: Provider's default endpoint. + :vartype default_endpoint: str + :param aad: Azure Active Directory info. + :type aad: ~azure.quantum.models.ProviderPropertiesAad + :param managed_application: Provider's Managed-Application info + :type managed_application: + ~azure.quantum.models.ProviderPropertiesManagedApplication + :param targets: The list of targets available from this provider. + :type targets: list[~azure.quantum.models.TargetDescription] + :param skus: The list of skus available from this provider. + :type skus: list[~azure.quantum.models.SkuDescription] + :param quota_dimensions: The list of quota dimensions from the provider. + :type quota_dimensions: list[~azure.quantum.models.QuotaDimension] + :param pricing_dimensions: The list of pricing dimensions from the + provider. + :type pricing_dimensions: list[~azure.quantum.models.PricingDimension] + """ + + _validation = { + 'description': {'readonly': True}, + 'provider_type': {'readonly': True}, + 'company': {'readonly': True}, + 'default_endpoint': {'readonly': True}, + } + + _attribute_map = { + 'description': {'key': 'description', 'type': 'str'}, + 'provider_type': {'key': 'providerType', 'type': 'str'}, + 'company': {'key': 'company', 'type': 'str'}, + 'default_endpoint': {'key': 'defaultEndpoint', 'type': 'str'}, + 'aad': {'key': 'aad', 'type': 'ProviderPropertiesAad'}, + 'managed_application': {'key': 'managedApplication', 'type': 'ProviderPropertiesManagedApplication'}, + 'targets': {'key': 'targets', 'type': '[TargetDescription]'}, + 'skus': {'key': 'skus', 'type': '[SkuDescription]'}, + 'quota_dimensions': {'key': 'quotaDimensions', 'type': '[QuotaDimension]'}, + 'pricing_dimensions': {'key': 'pricingDimensions', 'type': '[PricingDimension]'}, + } + + def __init__(self, *, aad=None, managed_application=None, targets=None, skus=None, quota_dimensions=None, pricing_dimensions=None, **kwargs) -> None: + super(ProviderProperties, self).__init__(**kwargs) + self.description = None + self.provider_type = None + self.company = None + self.default_endpoint = None + self.aad = aad + self.managed_application = managed_application + self.targets = targets + self.skus = skus + self.quota_dimensions = quota_dimensions + self.pricing_dimensions = pricing_dimensions diff --git a/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/provider_py3.py b/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/provider_py3.py new file mode 100644 index 00000000000..61b0860a8e6 --- /dev/null +++ b/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/provider_py3.py @@ -0,0 +1,54 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class Provider(Model): + """Information about a Provider. A Provider is an entity that offers Targets + to run Azure Quantum Jobs. + + :param provider_id: Unique id of this provider. + :type provider_id: str + :param provider_sku: The sku associated with pricing information for this + provider. + :type provider_sku: str + :param instance_uri: A Uri identifying the specific instance of this + provider. + :type instance_uri: str + :param application_name: The provider's marketplace application display + name. + :type application_name: str + :param provisioning_state: Provisioning status field. Possible values + include: 'Succeeded', 'Launching', 'Updating', 'Deleting', 'Deleted', + 'Failed' + :type provisioning_state: str or ~azure.quantum.models.Status + :param resource_usage_id: Id to track resource usage for the provider. + :type resource_usage_id: str + """ + + _attribute_map = { + 'provider_id': {'key': 'providerId', 'type': 'str'}, + 'provider_sku': {'key': 'providerSku', 'type': 'str'}, + 'instance_uri': {'key': 'instanceUri', 'type': 'str'}, + 'application_name': {'key': 'applicationName', 'type': 'str'}, + 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, + 'resource_usage_id': {'key': 'resourceUsageId', 'type': 'str'}, + } + + def __init__(self, *, provider_id: str=None, provider_sku: str=None, instance_uri: str=None, application_name: str=None, provisioning_state=None, resource_usage_id: str=None, **kwargs) -> None: + super(Provider, self).__init__(**kwargs) + self.provider_id = provider_id + self.provider_sku = provider_sku + self.instance_uri = instance_uri + self.application_name = application_name + self.provisioning_state = provisioning_state + self.resource_usage_id = resource_usage_id diff --git a/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/proxy_resource.py b/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/proxy_resource.py new file mode 100644 index 00000000000..0de8fb6bd42 --- /dev/null +++ b/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/proxy_resource.py @@ -0,0 +1,45 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from .resource import Resource + + +class ProxyResource(Resource): + """The resource model definition for a ARM proxy resource. It will have + everything other than required location and tags. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Fully qualified resource Id for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + :vartype id: str + :ivar name: The name of the resource + :vartype name: str + :ivar type: The type of the resource. Ex- + Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. + :vartype type: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ProxyResource, self).__init__(**kwargs) diff --git a/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/proxy_resource_py3.py b/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/proxy_resource_py3.py new file mode 100644 index 00000000000..2e8391f912d --- /dev/null +++ b/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/proxy_resource_py3.py @@ -0,0 +1,45 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from .resource_py3 import Resource + + +class ProxyResource(Resource): + """The resource model definition for a ARM proxy resource. It will have + everything other than required location and tags. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Fully qualified resource Id for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + :vartype id: str + :ivar name: The name of the resource + :vartype name: str + :ivar type: The type of the resource. Ex- + Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. + :vartype type: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, **kwargs) -> None: + super(ProxyResource, self).__init__(**kwargs) diff --git a/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/quantum_management_client_enums.py b/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/quantum_management_client_enums.py new file mode 100644 index 00000000000..c19934dd472 --- /dev/null +++ b/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/quantum_management_client_enums.py @@ -0,0 +1,45 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from enum import Enum + + +class Status(str, Enum): + + succeeded = "Succeeded" + launching = "Launching" + updating = "Updating" + deleting = "Deleting" + deleted = "Deleted" + failed = "Failed" + + +class UsableStatus(str, Enum): + + yes = "Yes" + no = "No" + partial = "Partial" + + +class ProvisioningStatus(str, Enum): + + succeeded = "Succeeded" + provider_launching = "ProviderLaunching" + provider_updating = "ProviderUpdating" + provider_deleting = "ProviderDeleting" + provider_provisioning = "ProviderProvisioning" + failed = "Failed" + + +class ResourceIdentityType(str, Enum): + + system_assigned = "SystemAssigned" + none = "None" diff --git a/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/quantum_workspace.py b/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/quantum_workspace.py new file mode 100644 index 00000000000..78098e399e6 --- /dev/null +++ b/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/quantum_workspace.py @@ -0,0 +1,80 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from .tracked_resource import TrackedResource + + +class QuantumWorkspace(TrackedResource): + """The resource proxy definition object for quantum workspace. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: Fully qualified resource Id for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + :vartype id: str + :ivar name: The name of the resource + :vartype name: str + :ivar type: The type of the resource. Ex- + Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. + :vartype type: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param location: Required. The geo-location where the resource lives + :type location: str + :param providers: List of Providers selected for this Workspace + :type providers: list[~azure.quantum.models.Provider] + :ivar usable: Whether the current workspace is ready to accept Jobs. + Possible values include: 'Yes', 'No', 'Partial' + :vartype usable: str or ~azure.quantum.models.UsableStatus + :ivar provisioning_state: Provisioning status field. Possible values + include: 'Succeeded', 'ProviderLaunching', 'ProviderUpdating', + 'ProviderDeleting', 'ProviderProvisioning', 'Failed' + :vartype provisioning_state: str or + ~azure.quantum.models.ProvisioningStatus + :param storage_account: ARM Resource Id of the storage account associated + with this workspace. + :type storage_account: str + :param identity: Managed Identity information. + :type identity: ~azure.quantum.models.QuantumWorkspaceIdentity + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'location': {'required': True}, + 'usable': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'location': {'key': 'location', 'type': 'str'}, + 'providers': {'key': 'properties.providers', 'type': '[Provider]'}, + 'usable': {'key': 'properties.usable', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'storage_account': {'key': 'properties.storageAccount', 'type': 'str'}, + 'identity': {'key': 'identity', 'type': 'QuantumWorkspaceIdentity'}, + } + + def __init__(self, **kwargs): + super(QuantumWorkspace, self).__init__(**kwargs) + self.providers = kwargs.get('providers', None) + self.usable = None + self.provisioning_state = None + self.storage_account = kwargs.get('storage_account', None) + self.identity = kwargs.get('identity', None) diff --git a/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/quantum_workspace_identity.py b/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/quantum_workspace_identity.py new file mode 100644 index 00000000000..69193a8a968 --- /dev/null +++ b/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/quantum_workspace_identity.py @@ -0,0 +1,45 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class QuantumWorkspaceIdentity(Model): + """Managed Identity information. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar principal_id: The principal ID of resource identity. + :vartype principal_id: str + :ivar tenant_id: The tenant ID of resource. + :vartype tenant_id: str + :param type: The identity type. Possible values include: 'SystemAssigned', + 'None' + :type type: str or ~azure.quantum.models.ResourceIdentityType + """ + + _validation = { + 'principal_id': {'readonly': True}, + 'tenant_id': {'readonly': True}, + } + + _attribute_map = { + 'principal_id': {'key': 'principalId', 'type': 'str'}, + 'tenant_id': {'key': 'tenantId', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(QuantumWorkspaceIdentity, self).__init__(**kwargs) + self.principal_id = None + self.tenant_id = None + self.type = kwargs.get('type', None) diff --git a/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/quantum_workspace_identity_py3.py b/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/quantum_workspace_identity_py3.py new file mode 100644 index 00000000000..3cd364bf7cc --- /dev/null +++ b/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/quantum_workspace_identity_py3.py @@ -0,0 +1,45 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class QuantumWorkspaceIdentity(Model): + """Managed Identity information. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar principal_id: The principal ID of resource identity. + :vartype principal_id: str + :ivar tenant_id: The tenant ID of resource. + :vartype tenant_id: str + :param type: The identity type. Possible values include: 'SystemAssigned', + 'None' + :type type: str or ~azure.quantum.models.ResourceIdentityType + """ + + _validation = { + 'principal_id': {'readonly': True}, + 'tenant_id': {'readonly': True}, + } + + _attribute_map = { + 'principal_id': {'key': 'principalId', 'type': 'str'}, + 'tenant_id': {'key': 'tenantId', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, *, type=None, **kwargs) -> None: + super(QuantumWorkspaceIdentity, self).__init__(**kwargs) + self.principal_id = None + self.tenant_id = None + self.type = type diff --git a/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/quantum_workspace_paged.py b/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/quantum_workspace_paged.py new file mode 100644 index 00000000000..de356e694af --- /dev/null +++ b/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/quantum_workspace_paged.py @@ -0,0 +1,27 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.paging import Paged + + +class QuantumWorkspacePaged(Paged): + """ + A paging container for iterating over a list of :class:`QuantumWorkspace ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[QuantumWorkspace]'} + } + + def __init__(self, *args, **kwargs): + + super(QuantumWorkspacePaged, self).__init__(*args, **kwargs) diff --git a/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/quantum_workspace_py3.py b/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/quantum_workspace_py3.py new file mode 100644 index 00000000000..d44ea702c51 --- /dev/null +++ b/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/quantum_workspace_py3.py @@ -0,0 +1,80 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from .tracked_resource_py3 import TrackedResource + + +class QuantumWorkspace(TrackedResource): + """The resource proxy definition object for quantum workspace. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: Fully qualified resource Id for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + :vartype id: str + :ivar name: The name of the resource + :vartype name: str + :ivar type: The type of the resource. Ex- + Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. + :vartype type: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param location: Required. The geo-location where the resource lives + :type location: str + :param providers: List of Providers selected for this Workspace + :type providers: list[~azure.quantum.models.Provider] + :ivar usable: Whether the current workspace is ready to accept Jobs. + Possible values include: 'Yes', 'No', 'Partial' + :vartype usable: str or ~azure.quantum.models.UsableStatus + :ivar provisioning_state: Provisioning status field. Possible values + include: 'Succeeded', 'ProviderLaunching', 'ProviderUpdating', + 'ProviderDeleting', 'ProviderProvisioning', 'Failed' + :vartype provisioning_state: str or + ~azure.quantum.models.ProvisioningStatus + :param storage_account: ARM Resource Id of the storage account associated + with this workspace. + :type storage_account: str + :param identity: Managed Identity information. + :type identity: ~azure.quantum.models.QuantumWorkspaceIdentity + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'location': {'required': True}, + 'usable': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'location': {'key': 'location', 'type': 'str'}, + 'providers': {'key': 'properties.providers', 'type': '[Provider]'}, + 'usable': {'key': 'properties.usable', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'storage_account': {'key': 'properties.storageAccount', 'type': 'str'}, + 'identity': {'key': 'identity', 'type': 'QuantumWorkspaceIdentity'}, + } + + def __init__(self, *, location: str, tags=None, providers=None, storage_account: str=None, identity=None, **kwargs) -> None: + super(QuantumWorkspace, self).__init__(tags=tags, location=location, **kwargs) + self.providers = providers + self.usable = None + self.provisioning_state = None + self.storage_account = storage_account + self.identity = identity diff --git a/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/quota_dimension.py b/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/quota_dimension.py new file mode 100644 index 00000000000..9a1ac1d3bdc --- /dev/null +++ b/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/quota_dimension.py @@ -0,0 +1,58 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class QuotaDimension(Model): + """Information about a specific quota dimension. + + :param id: Unique id of this dimension. + :type id: str + :param scope: The scope of this quota dimension. + :type scope: str + :param period: The reset period of this quota dimension. + :type period: str + :param quota: The max limit of this dimension. + :type quota: float + :param name: The display name of this quota dimension. + :type name: str + :param description: A description about this quota dimension. + :type description: str + :param unit: The standard unit of measurement used for this quota + dimension. + :type unit: str + :param unit_plural: The standard unit of measurement used for this quota + dimension in plural form. + :type unit_plural: str + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'scope': {'key': 'scope', 'type': 'str'}, + 'period': {'key': 'period', 'type': 'str'}, + 'quota': {'key': 'quota', 'type': 'float'}, + 'name': {'key': 'name', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'unit': {'key': 'unit', 'type': 'str'}, + 'unit_plural': {'key': 'unitPlural', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(QuotaDimension, self).__init__(**kwargs) + self.id = kwargs.get('id', None) + self.scope = kwargs.get('scope', None) + self.period = kwargs.get('period', None) + self.quota = kwargs.get('quota', None) + self.name = kwargs.get('name', None) + self.description = kwargs.get('description', None) + self.unit = kwargs.get('unit', None) + self.unit_plural = kwargs.get('unit_plural', None) diff --git a/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/quota_dimension_py3.py b/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/quota_dimension_py3.py new file mode 100644 index 00000000000..f3c6f5dce9b --- /dev/null +++ b/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/quota_dimension_py3.py @@ -0,0 +1,58 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class QuotaDimension(Model): + """Information about a specific quota dimension. + + :param id: Unique id of this dimension. + :type id: str + :param scope: The scope of this quota dimension. + :type scope: str + :param period: The reset period of this quota dimension. + :type period: str + :param quota: The max limit of this dimension. + :type quota: float + :param name: The display name of this quota dimension. + :type name: str + :param description: A description about this quota dimension. + :type description: str + :param unit: The standard unit of measurement used for this quota + dimension. + :type unit: str + :param unit_plural: The standard unit of measurement used for this quota + dimension in plural form. + :type unit_plural: str + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'scope': {'key': 'scope', 'type': 'str'}, + 'period': {'key': 'period', 'type': 'str'}, + 'quota': {'key': 'quota', 'type': 'float'}, + 'name': {'key': 'name', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'unit': {'key': 'unit', 'type': 'str'}, + 'unit_plural': {'key': 'unitPlural', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, scope: str=None, period: str=None, quota: float=None, name: str=None, description: str=None, unit: str=None, unit_plural: str=None, **kwargs) -> None: + super(QuotaDimension, self).__init__(**kwargs) + self.id = id + self.scope = scope + self.period = period + self.quota = quota + self.name = name + self.description = description + self.unit = unit + self.unit_plural = unit_plural diff --git a/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/resource.py b/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/resource.py new file mode 100644 index 00000000000..97092755b76 --- /dev/null +++ b/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/resource.py @@ -0,0 +1,47 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class Resource(Model): + """The resource model definition for a ARM tracked top level resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Fully qualified resource Id for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + :vartype id: str + :ivar name: The name of the resource + :vartype name: str + :ivar type: The type of the resource. Ex- + Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. + :vartype type: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(Resource, self).__init__(**kwargs) + self.id = None + self.name = None + self.type = None diff --git a/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/resource_py3.py b/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/resource_py3.py new file mode 100644 index 00000000000..16cb807b8a9 --- /dev/null +++ b/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/resource_py3.py @@ -0,0 +1,47 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class Resource(Model): + """The resource model definition for a ARM tracked top level resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Fully qualified resource Id for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + :vartype id: str + :ivar name: The name of the resource + :vartype name: str + :ivar type: The type of the resource. Ex- + Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. + :vartype type: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, **kwargs) -> None: + super(Resource, self).__init__(**kwargs) + self.id = None + self.name = None + self.type = None diff --git a/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/sku_description.py b/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/sku_description.py new file mode 100644 index 00000000000..43d8a019e6f --- /dev/null +++ b/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/sku_description.py @@ -0,0 +1,48 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class SkuDescription(Model): + """Information about a specific sku. + + :param id: Unique sku id. + :type id: str + :param name: Display name of this sku. + :type name: str + :param description: Description about this sku. + :type description: str + :param targets: The list of targets available for this sku. + :type targets: list[str] + :param quota_dimensions: The list of quota dimensions for this sku. + :type quota_dimensions: list[~azure.quantum.models.QuotaDimension] + :param pricing_details: The list of pricing details for the sku. + :type pricing_details: list[~azure.quantum.models.PricingDetail] + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'targets': {'key': 'targets', 'type': '[str]'}, + 'quota_dimensions': {'key': 'quotaDimensions', 'type': '[QuotaDimension]'}, + 'pricing_details': {'key': 'pricingDetails', 'type': '[PricingDetail]'}, + } + + def __init__(self, **kwargs): + super(SkuDescription, self).__init__(**kwargs) + self.id = kwargs.get('id', None) + self.name = kwargs.get('name', None) + self.description = kwargs.get('description', None) + self.targets = kwargs.get('targets', None) + self.quota_dimensions = kwargs.get('quota_dimensions', None) + self.pricing_details = kwargs.get('pricing_details', None) diff --git a/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/sku_description_py3.py b/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/sku_description_py3.py new file mode 100644 index 00000000000..b23b8c4b133 --- /dev/null +++ b/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/sku_description_py3.py @@ -0,0 +1,48 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class SkuDescription(Model): + """Information about a specific sku. + + :param id: Unique sku id. + :type id: str + :param name: Display name of this sku. + :type name: str + :param description: Description about this sku. + :type description: str + :param targets: The list of targets available for this sku. + :type targets: list[str] + :param quota_dimensions: The list of quota dimensions for this sku. + :type quota_dimensions: list[~azure.quantum.models.QuotaDimension] + :param pricing_details: The list of pricing details for the sku. + :type pricing_details: list[~azure.quantum.models.PricingDetail] + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'targets': {'key': 'targets', 'type': '[str]'}, + 'quota_dimensions': {'key': 'quotaDimensions', 'type': '[QuotaDimension]'}, + 'pricing_details': {'key': 'pricingDetails', 'type': '[PricingDetail]'}, + } + + def __init__(self, *, id: str=None, name: str=None, description: str=None, targets=None, quota_dimensions=None, pricing_details=None, **kwargs) -> None: + super(SkuDescription, self).__init__(**kwargs) + self.id = id + self.name = name + self.description = description + self.targets = targets + self.quota_dimensions = quota_dimensions + self.pricing_details = pricing_details diff --git a/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/tags_object.py b/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/tags_object.py new file mode 100644 index 00000000000..2966ec220f9 --- /dev/null +++ b/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/tags_object.py @@ -0,0 +1,28 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class TagsObject(Model): + """Tags object for patch operations. + + :param tags: Resource tags. + :type tags: dict[str, str] + """ + + _attribute_map = { + 'tags': {'key': 'tags', 'type': '{str}'}, + } + + def __init__(self, **kwargs): + super(TagsObject, self).__init__(**kwargs) + self.tags = kwargs.get('tags', None) diff --git a/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/tags_object_py3.py b/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/tags_object_py3.py new file mode 100644 index 00000000000..8be0bb4a15d --- /dev/null +++ b/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/tags_object_py3.py @@ -0,0 +1,28 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class TagsObject(Model): + """Tags object for patch operations. + + :param tags: Resource tags. + :type tags: dict[str, str] + """ + + _attribute_map = { + 'tags': {'key': 'tags', 'type': '{str}'}, + } + + def __init__(self, *, tags=None, **kwargs) -> None: + super(TagsObject, self).__init__(**kwargs) + self.tags = tags diff --git a/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/target_description.py b/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/target_description.py new file mode 100644 index 00000000000..c9be4427693 --- /dev/null +++ b/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/target_description.py @@ -0,0 +1,47 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class TargetDescription(Model): + """Information about a Target. A target is the component that can process a + specific type of Job. + + :param id: Unique target id. + :type id: str + :param name: Display name of this target. + :type name: str + :param description: A description about this target. + :type description: str + :param accepted_data_formats: List of data formats accepted by this + target. + :type accepted_data_formats: list[str] + :param accepted_content_encodings: List of content encodings accepted by + this target. + :type accepted_content_encodings: list[str] + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'accepted_data_formats': {'key': 'acceptedDataFormats', 'type': '[str]'}, + 'accepted_content_encodings': {'key': 'acceptedContentEncodings', 'type': '[str]'}, + } + + def __init__(self, **kwargs): + super(TargetDescription, self).__init__(**kwargs) + self.id = kwargs.get('id', None) + self.name = kwargs.get('name', None) + self.description = kwargs.get('description', None) + self.accepted_data_formats = kwargs.get('accepted_data_formats', None) + self.accepted_content_encodings = kwargs.get('accepted_content_encodings', None) diff --git a/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/target_description_py3.py b/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/target_description_py3.py new file mode 100644 index 00000000000..79072576249 --- /dev/null +++ b/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/target_description_py3.py @@ -0,0 +1,47 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class TargetDescription(Model): + """Information about a Target. A target is the component that can process a + specific type of Job. + + :param id: Unique target id. + :type id: str + :param name: Display name of this target. + :type name: str + :param description: A description about this target. + :type description: str + :param accepted_data_formats: List of data formats accepted by this + target. + :type accepted_data_formats: list[str] + :param accepted_content_encodings: List of content encodings accepted by + this target. + :type accepted_content_encodings: list[str] + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'accepted_data_formats': {'key': 'acceptedDataFormats', 'type': '[str]'}, + 'accepted_content_encodings': {'key': 'acceptedContentEncodings', 'type': '[str]'}, + } + + def __init__(self, *, id: str=None, name: str=None, description: str=None, accepted_data_formats=None, accepted_content_encodings=None, **kwargs) -> None: + super(TargetDescription, self).__init__(**kwargs) + self.id = id + self.name = name + self.description = description + self.accepted_data_formats = accepted_data_formats + self.accepted_content_encodings = accepted_content_encodings diff --git a/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/tracked_resource.py b/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/tracked_resource.py new file mode 100644 index 00000000000..27ab94c7a8d --- /dev/null +++ b/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/tracked_resource.py @@ -0,0 +1,55 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from .resource import Resource + + +class TrackedResource(Resource): + """The resource model definition for a ARM tracked top level resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: Fully qualified resource Id for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + :vartype id: str + :ivar name: The name of the resource + :vartype name: str + :ivar type: The type of the resource. Ex- + Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. + :vartype type: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param location: Required. The geo-location where the resource lives + :type location: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'location': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'location': {'key': 'location', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(TrackedResource, self).__init__(**kwargs) + self.tags = kwargs.get('tags', None) + self.location = kwargs.get('location', None) diff --git a/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/tracked_resource_py3.py b/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/tracked_resource_py3.py new file mode 100644 index 00000000000..b28cc185944 --- /dev/null +++ b/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/models/tracked_resource_py3.py @@ -0,0 +1,55 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from .resource_py3 import Resource + + +class TrackedResource(Resource): + """The resource model definition for a ARM tracked top level resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: Fully qualified resource Id for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + :vartype id: str + :ivar name: The name of the resource + :vartype name: str + :ivar type: The type of the resource. Ex- + Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. + :vartype type: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param location: Required. The geo-location where the resource lives + :type location: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'location': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'location': {'key': 'location', 'type': 'str'}, + } + + def __init__(self, *, location: str, tags=None, **kwargs) -> None: + super(TrackedResource, self).__init__(**kwargs) + self.tags = tags + self.location = location diff --git a/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/operations/__init__.py b/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/operations/__init__.py new file mode 100644 index 00000000000..bcb03834269 --- /dev/null +++ b/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/operations/__init__.py @@ -0,0 +1,20 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from .workspaces_operations import WorkspacesOperations +from .offerings_operations import OfferingsOperations +from .operations import Operations + +__all__ = [ + 'WorkspacesOperations', + 'OfferingsOperations', + 'Operations', +] diff --git a/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/operations/offerings_operations.py b/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/operations/offerings_operations.py new file mode 100644 index 00000000000..ad80a0da860 --- /dev/null +++ b/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/operations/offerings_operations.py @@ -0,0 +1,104 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse + +from .. import models + + +class OfferingsOperations(object): + """OfferingsOperations operations. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Client Api Version. Constant value: "2019-11-04-preview". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2019-11-04-preview" + + self.config = config + + def list( + self, location_name, custom_headers=None, raw=False, **operation_config): + """Returns the list of all provider offerings available for the given + location. + + :param location_name: Location. + :type location_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of ProviderDescription + :rtype: + ~azure.quantum.models.ProviderDescriptionPaged[~azure.quantum.models.ProviderDescription] + :raises: + :class:`ErrorResponseException` + """ + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'locationName': self._serialize.url("location_name", location_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ErrorResponseException(self._deserialize, response) + + return response + + # Deserialize response + deserialized = models.ProviderDescriptionPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.ProviderDescriptionPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Quantum/locations/{locationName}/offerings'} diff --git a/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/operations/operations.py b/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/operations/operations.py new file mode 100644 index 00000000000..e80feb5242e --- /dev/null +++ b/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/operations/operations.py @@ -0,0 +1,96 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse + +from .. import models + + +class Operations(object): + """Operations operations. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Client Api Version. Constant value: "2019-11-04-preview". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2019-11-04-preview" + + self.config = config + + def list( + self, custom_headers=None, raw=False, **operation_config): + """Returns list of operations. + + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of Operation + :rtype: + ~azure.quantum.models.OperationPaged[~azure.quantum.models.Operation] + :raises: + :class:`ErrorResponseException` + """ + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list.metadata['url'] + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ErrorResponseException(self._deserialize, response) + + return response + + # Deserialize response + deserialized = models.OperationPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.OperationPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list.metadata = {'url': '/providers/Microsoft.Quantum/operations'} diff --git a/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/operations/workspaces_operations.py b/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/operations/workspaces_operations.py new file mode 100644 index 00000000000..d9fd10c344a --- /dev/null +++ b/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/operations/workspaces_operations.py @@ -0,0 +1,475 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class WorkspacesOperations(object): + """WorkspacesOperations operations. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Client Api Version. Constant value: "2019-11-04-preview". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2019-11-04-preview" + + self.config = config + + def get( + self, resource_group_name, workspace_name, custom_headers=None, raw=False, **operation_config): + """Returns the Workspace resource associated with the given name. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param workspace_name: The name of the quantum workspace resource. + :type workspace_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: QuantumWorkspace or ClientRawResponse if raw=true + :rtype: ~azure.quantum.models.QuantumWorkspace or + ~msrest.pipeline.ClientRawResponse + :raises: + :class:`ErrorResponseException` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'workspaceName': self._serialize.url("workspace_name", workspace_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ErrorResponseException(self._deserialize, response) + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('QuantumWorkspace', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Quantum/workspaces/{workspaceName}'} + + + def _create_or_update_initial( + self, resource_group_name, workspace_name, quantum_workspace, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'workspaceName': self._serialize.url("workspace_name", workspace_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct body + body_content = self._serialize.body(quantum_workspace, 'QuantumWorkspace') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 201]: + raise models.ErrorResponseException(self._deserialize, response) + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('QuantumWorkspace', response) + if response.status_code == 201: + deserialized = self._deserialize('QuantumWorkspace', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, workspace_name, quantum_workspace, custom_headers=None, raw=False, polling=True, **operation_config): + """Creates or updates a workspace resource. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param workspace_name: The name of the quantum workspace resource. + :type workspace_name: str + :param quantum_workspace: Workspace details. + :type quantum_workspace: ~azure.quantum.models.QuantumWorkspace + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns QuantumWorkspace or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.quantum.models.QuantumWorkspace] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.quantum.models.QuantumWorkspace]] + :raises: + :class:`ErrorResponseException` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + workspace_name=workspace_name, + quantum_workspace=quantum_workspace, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('QuantumWorkspace', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Quantum/workspaces/{workspaceName}'} + + def update_tags( + self, resource_group_name, workspace_name, workspace_tags, custom_headers=None, raw=False, **operation_config): + """Updates an existing workspace's tags. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param workspace_name: The name of the quantum workspace resource. + :type workspace_name: str + :param workspace_tags: Parameters supplied to update tags. + :type workspace_tags: ~azure.quantum.models.TagsObject + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: QuantumWorkspace or ClientRawResponse if raw=true + :rtype: ~azure.quantum.models.QuantumWorkspace or + ~msrest.pipeline.ClientRawResponse + :raises: + :class:`ErrorResponseException` + """ + # Construct URL + url = self.update_tags.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'workspaceName': self._serialize.url("workspace_name", workspace_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct body + body_content = self._serialize.body(workspace_tags, 'TagsObject') + + # Construct and send request + request = self._client.patch(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ErrorResponseException(self._deserialize, response) + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('QuantumWorkspace', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + update_tags.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Quantum/workspaces/{workspaceName}'} + + + def _delete_initial( + self, resource_group_name, workspace_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'workspaceName': self._serialize.url("workspace_name", workspace_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202, 204]: + raise models.ErrorResponseException(self._deserialize, response) + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, workspace_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes a Workspace resource. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param workspace_name: The name of the quantum workspace resource. + :type workspace_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: + :class:`ErrorResponseException` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + workspace_name=workspace_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Quantum/workspaces/{workspaceName}'} + + def list_by_subscription( + self, custom_headers=None, raw=False, **operation_config): + """Gets the list of Workspaces within a Subscription. + + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of QuantumWorkspace + :rtype: + ~azure.quantum.models.QuantumWorkspacePaged[~azure.quantum.models.QuantumWorkspace] + :raises: + :class:`ErrorResponseException` + """ + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list_by_subscription.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ErrorResponseException(self._deserialize, response) + + return response + + # Deserialize response + deserialized = models.QuantumWorkspacePaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.QuantumWorkspacePaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list_by_subscription.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Quantum/workspaces'} + + def list_by_resource_group( + self, resource_group_name, custom_headers=None, raw=False, **operation_config): + """Gets the list of Workspaces within a resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of QuantumWorkspace + :rtype: + ~azure.quantum.models.QuantumWorkspacePaged[~azure.quantum.models.QuantumWorkspace] + :raises: + :class:`ErrorResponseException` + """ + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list_by_resource_group.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ErrorResponseException(self._deserialize, response) + + return response + + # Deserialize response + deserialized = models.QuantumWorkspacePaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.QuantumWorkspacePaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Quantum/workspaces'} diff --git a/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/quantum_management_client.py b/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/quantum_management_client.py new file mode 100644 index 00000000000..75313deee43 --- /dev/null +++ b/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/quantum_management_client.py @@ -0,0 +1,91 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.service_client import SDKClient +from msrest import Serializer, Deserializer +from msrestazure import AzureConfiguration +from .version import VERSION +from .operations.workspaces_operations import WorkspacesOperations +from .operations.offerings_operations import OfferingsOperations +from .operations.operations import Operations +from . import models + + +class QuantumManagementClientConfiguration(AzureConfiguration): + """Configuration for QuantumManagementClient + Note that all parameters used to create this instance are saved as instance + attributes. + + :param credentials: Credentials needed for the client to connect to Azure. + :type credentials: :mod:`A msrestazure Credentials + object` + :param subscription_id: The Azure subscription ID. + :type subscription_id: str + :param str base_url: Service URL + """ + + def __init__( + self, credentials, subscription_id, base_url=None): + + if credentials is None: + raise ValueError("Parameter 'credentials' must not be None.") + if subscription_id is None: + raise ValueError("Parameter 'subscription_id' must not be None.") + if not base_url: + base_url = 'https://management.azure.com' + + super(QuantumManagementClientConfiguration, self).__init__(base_url) + + self.add_user_agent('quantummanagementclient/{}'.format(VERSION)) + self.add_user_agent('Azure-SDK-For-Python') + + self.credentials = credentials + self.subscription_id = subscription_id + + +class QuantumManagementClient(SDKClient): + """QuantumManagementClient + + :ivar config: Configuration for client. + :vartype config: QuantumManagementClientConfiguration + + :ivar workspaces: Workspaces operations + :vartype workspaces: azure.quantum.operations.WorkspacesOperations + :ivar offerings: Offerings operations + :vartype offerings: azure.quantum.operations.OfferingsOperations + :ivar operations: Operations operations + :vartype operations: azure.quantum.operations.Operations + + :param credentials: Credentials needed for the client to connect to Azure. + :type credentials: :mod:`A msrestazure Credentials + object` + :param subscription_id: The Azure subscription ID. + :type subscription_id: str + :param str base_url: Service URL + """ + + def __init__( + self, credentials, subscription_id, base_url=None): + + self.config = QuantumManagementClientConfiguration(credentials, subscription_id, base_url) + super(QuantumManagementClient, self).__init__(self.config.credentials, self.config) + + client_models = {k: v for k, v in models.__dict__.items() if isinstance(v, type)} + self.api_version = '2019-11-04-preview' + self._serialize = Serializer(client_models) + self._deserialize = Deserializer(client_models) + + self.workspaces = WorkspacesOperations( + self._client, self.config, self._serialize, self._deserialize) + self.offerings = OfferingsOperations( + self._client, self.config, self._serialize, self._deserialize) + self.operations = Operations( + self._client, self.config, self._serialize, self._deserialize) diff --git a/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/version.py b/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/version.py new file mode 100644 index 00000000000..f85b9c12434 --- /dev/null +++ b/src/quantum/azext_quantum/vendored_sdks/azure_mgmt_quantum/version.py @@ -0,0 +1,13 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +VERSION = "2019-11-04-preview" + diff --git a/src/quantum/azext_quantum/vendored_sdks/azure_quantum/__init__.py b/src/quantum/azext_quantum/vendored_sdks/azure_quantum/__init__.py new file mode 100644 index 00000000000..97d75e8849d --- /dev/null +++ b/src/quantum/azext_quantum/vendored_sdks/azure_quantum/__init__.py @@ -0,0 +1,18 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from .quantum_client import QuantumClient +from .version import VERSION + +__all__ = ['QuantumClient'] + +__version__ = VERSION + diff --git a/src/quantum/azext_quantum/vendored_sdks/azure_quantum/models/__init__.py b/src/quantum/azext_quantum/vendored_sdks/azure_quantum/models/__init__.py new file mode 100644 index 00000000000..d82cd869b28 --- /dev/null +++ b/src/quantum/azext_quantum/vendored_sdks/azure_quantum/models/__init__.py @@ -0,0 +1,58 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +try: + from .error_data_py3 import ErrorData + from .job_details_py3 import JobDetails + from .blob_details_py3 import BlobDetails + from .sas_uri_response_py3 import SasUriResponse + from .target_status_py3 import TargetStatus + from .provider_status_py3 import ProviderStatus + from .quota_py3 import Quota + from .rest_error_py3 import RestError, RestErrorException +except (SyntaxError, ImportError): + from .error_data import ErrorData + from .job_details import JobDetails + from .blob_details import BlobDetails + from .sas_uri_response import SasUriResponse + from .target_status import TargetStatus + from .provider_status import ProviderStatus + from .quota import Quota + from .rest_error import RestError, RestErrorException +from .job_details_paged import JobDetailsPaged +from .provider_status_paged import ProviderStatusPaged +from .quota_paged import QuotaPaged +from .quantum_client_enums import ( + JobStatus, + ProviderAvailability, + TargetAvailability, + DimensionScope, + MeterPeriod, +) + +__all__ = [ + 'ErrorData', + 'JobDetails', + 'BlobDetails', + 'SasUriResponse', + 'TargetStatus', + 'ProviderStatus', + 'Quota', + 'RestError', 'RestErrorException', + 'JobDetailsPaged', + 'ProviderStatusPaged', + 'QuotaPaged', + 'JobStatus', + 'ProviderAvailability', + 'TargetAvailability', + 'DimensionScope', + 'MeterPeriod', +] diff --git a/src/quantum/azext_quantum/vendored_sdks/azure_quantum/models/blob_details.py b/src/quantum/azext_quantum/vendored_sdks/azure_quantum/models/blob_details.py new file mode 100644 index 00000000000..5eca3fc536a --- /dev/null +++ b/src/quantum/azext_quantum/vendored_sdks/azure_quantum/models/blob_details.py @@ -0,0 +1,38 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class BlobDetails(Model): + """Blob details. + + All required parameters must be populated in order to send to Azure. + + :param container_name: Required. The container name. + :type container_name: str + :param blob_name: The blob name. + :type blob_name: str + """ + + _validation = { + 'container_name': {'required': True}, + } + + _attribute_map = { + 'container_name': {'key': 'containerName', 'type': 'str'}, + 'blob_name': {'key': 'blobName', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(BlobDetails, self).__init__(**kwargs) + self.container_name = kwargs.get('container_name', None) + self.blob_name = kwargs.get('blob_name', None) diff --git a/src/quantum/azext_quantum/vendored_sdks/azure_quantum/models/blob_details_py3.py b/src/quantum/azext_quantum/vendored_sdks/azure_quantum/models/blob_details_py3.py new file mode 100644 index 00000000000..d3cb6733505 --- /dev/null +++ b/src/quantum/azext_quantum/vendored_sdks/azure_quantum/models/blob_details_py3.py @@ -0,0 +1,38 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class BlobDetails(Model): + """Blob details. + + All required parameters must be populated in order to send to Azure. + + :param container_name: Required. The container name. + :type container_name: str + :param blob_name: The blob name. + :type blob_name: str + """ + + _validation = { + 'container_name': {'required': True}, + } + + _attribute_map = { + 'container_name': {'key': 'containerName', 'type': 'str'}, + 'blob_name': {'key': 'blobName', 'type': 'str'}, + } + + def __init__(self, *, container_name: str, blob_name: str=None, **kwargs) -> None: + super(BlobDetails, self).__init__(**kwargs) + self.container_name = container_name + self.blob_name = blob_name diff --git a/src/quantum/azext_quantum/vendored_sdks/azure_quantum/models/error_data.py b/src/quantum/azext_quantum/vendored_sdks/azure_quantum/models/error_data.py new file mode 100644 index 00000000000..7d55dbac1ed --- /dev/null +++ b/src/quantum/azext_quantum/vendored_sdks/azure_quantum/models/error_data.py @@ -0,0 +1,34 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class ErrorData(Model): + """An error response from Azure. + + :param code: An identifier for the error. Codes are invariant and are + intended to be consumed programmatically. + :type code: str + :param message: A message describing the error, intended to be suitable + for displaying in a user interface. + :type message: str + """ + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ErrorData, self).__init__(**kwargs) + self.code = kwargs.get('code', None) + self.message = kwargs.get('message', None) diff --git a/src/quantum/azext_quantum/vendored_sdks/azure_quantum/models/error_data_py3.py b/src/quantum/azext_quantum/vendored_sdks/azure_quantum/models/error_data_py3.py new file mode 100644 index 00000000000..b0d83bcbcc8 --- /dev/null +++ b/src/quantum/azext_quantum/vendored_sdks/azure_quantum/models/error_data_py3.py @@ -0,0 +1,34 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class ErrorData(Model): + """An error response from Azure. + + :param code: An identifier for the error. Codes are invariant and are + intended to be consumed programmatically. + :type code: str + :param message: A message describing the error, intended to be suitable + for displaying in a user interface. + :type message: str + """ + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + } + + def __init__(self, *, code: str=None, message: str=None, **kwargs) -> None: + super(ErrorData, self).__init__(**kwargs) + self.code = code + self.message = message diff --git a/src/quantum/azext_quantum/vendored_sdks/azure_quantum/models/job_details.py b/src/quantum/azext_quantum/vendored_sdks/azure_quantum/models/job_details.py new file mode 100644 index 00000000000..78b3bd4d83b --- /dev/null +++ b/src/quantum/azext_quantum/vendored_sdks/azure_quantum/models/job_details.py @@ -0,0 +1,120 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class JobDetails(Model): + """Job details. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :param id: The job id. + :type id: str + :param name: The job name. Is not required for the name to be unique and + it's only used for display purposes. + :type name: str + :param container_uri: Required. The blob container SAS uri, the container + is used to host job data. + :type container_uri: str + :param input_data_uri: The input blob SAS uri, if specified, it will + override the default input blob in the container. + :type input_data_uri: str + :param input_data_format: Required. The format of the input data. + :type input_data_format: str + :param input_params: The input parameters for the job. JSON object used by + the target solver. It is expected that the size of this object is small + and only used to specify parameters for the execution target, not the + input data. + :type input_params: object + :param provider_id: Required. The unique identifier for the provider. + :type provider_id: str + :param target: Required. The target identifier to run the job. + :type target: str + :param metadata: The job metadata. Metadata provides client the ability to + store client-specific information + :type metadata: dict[str, str] + :param output_data_uri: The output blob SAS uri. When a job finishes + successfully, results will be uploaded to this blob. + :type output_data_uri: str + :param output_data_format: The format of the output data. + :type output_data_format: str + :ivar status: The job status. Possible values include: 'Waiting', + 'Executing', 'Succeeded', 'Failed', 'Cancelled' + :vartype status: str or ~azure.quantum.models.JobStatus + :ivar creation_time: The creation time of the job. + :vartype creation_time: datetime + :ivar begin_execution_time: The time when the job began execution. + :vartype begin_execution_time: datetime + :ivar end_execution_time: The time when the job finished execution. + :vartype end_execution_time: datetime + :ivar cancellation_time: The time when a job was successfully cancelled. + :vartype cancellation_time: datetime + :ivar error_data: The error data for the job. This is expected only when + Status 'Failed'. + :vartype error_data: ~azure.quantum.models.ErrorData + """ + + _validation = { + 'container_uri': {'required': True}, + 'input_data_format': {'required': True}, + 'provider_id': {'required': True}, + 'target': {'required': True}, + 'status': {'readonly': True}, + 'creation_time': {'readonly': True}, + 'begin_execution_time': {'readonly': True}, + 'end_execution_time': {'readonly': True}, + 'cancellation_time': {'readonly': True}, + 'error_data': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'container_uri': {'key': 'containerUri', 'type': 'str'}, + 'input_data_uri': {'key': 'inputDataUri', 'type': 'str'}, + 'input_data_format': {'key': 'inputDataFormat', 'type': 'str'}, + 'input_params': {'key': 'inputParams', 'type': 'object'}, + 'provider_id': {'key': 'providerId', 'type': 'str'}, + 'target': {'key': 'target', 'type': 'str'}, + 'metadata': {'key': 'metadata', 'type': '{str}'}, + 'output_data_uri': {'key': 'outputDataUri', 'type': 'str'}, + 'output_data_format': {'key': 'outputDataFormat', 'type': 'str'}, + 'status': {'key': 'status', 'type': 'str'}, + 'creation_time': {'key': 'creationTime', 'type': 'iso-8601'}, + 'begin_execution_time': {'key': 'beginExecutionTime', 'type': 'iso-8601'}, + 'end_execution_time': {'key': 'endExecutionTime', 'type': 'iso-8601'}, + 'cancellation_time': {'key': 'cancellationTime', 'type': 'iso-8601'}, + 'error_data': {'key': 'errorData', 'type': 'ErrorData'}, + } + + def __init__(self, **kwargs): + super(JobDetails, self).__init__(**kwargs) + self.id = kwargs.get('id', None) + self.name = kwargs.get('name', None) + self.container_uri = kwargs.get('container_uri', None) + self.input_data_uri = kwargs.get('input_data_uri', None) + self.input_data_format = kwargs.get('input_data_format', None) + self.input_params = kwargs.get('input_params', None) + self.provider_id = kwargs.get('provider_id', None) + self.target = kwargs.get('target', None) + self.metadata = kwargs.get('metadata', None) + self.output_data_uri = kwargs.get('output_data_uri', None) + self.output_data_format = kwargs.get('output_data_format', None) + self.status = None + self.creation_time = None + self.begin_execution_time = None + self.end_execution_time = None + self.cancellation_time = None + self.error_data = None diff --git a/src/quantum/azext_quantum/vendored_sdks/azure_quantum/models/job_details_paged.py b/src/quantum/azext_quantum/vendored_sdks/azure_quantum/models/job_details_paged.py new file mode 100644 index 00000000000..f8c5167c586 --- /dev/null +++ b/src/quantum/azext_quantum/vendored_sdks/azure_quantum/models/job_details_paged.py @@ -0,0 +1,27 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.paging import Paged + + +class JobDetailsPaged(Paged): + """ + A paging container for iterating over a list of :class:`JobDetails ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[JobDetails]'} + } + + def __init__(self, *args, **kwargs): + + super(JobDetailsPaged, self).__init__(*args, **kwargs) diff --git a/src/quantum/azext_quantum/vendored_sdks/azure_quantum/models/job_details_py3.py b/src/quantum/azext_quantum/vendored_sdks/azure_quantum/models/job_details_py3.py new file mode 100644 index 00000000000..749ef493fd6 --- /dev/null +++ b/src/quantum/azext_quantum/vendored_sdks/azure_quantum/models/job_details_py3.py @@ -0,0 +1,120 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class JobDetails(Model): + """Job details. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :param id: The job id. + :type id: str + :param name: The job name. Is not required for the name to be unique and + it's only used for display purposes. + :type name: str + :param container_uri: Required. The blob container SAS uri, the container + is used to host job data. + :type container_uri: str + :param input_data_uri: The input blob SAS uri, if specified, it will + override the default input blob in the container. + :type input_data_uri: str + :param input_data_format: Required. The format of the input data. + :type input_data_format: str + :param input_params: The input parameters for the job. JSON object used by + the target solver. It is expected that the size of this object is small + and only used to specify parameters for the execution target, not the + input data. + :type input_params: object + :param provider_id: Required. The unique identifier for the provider. + :type provider_id: str + :param target: Required. The target identifier to run the job. + :type target: str + :param metadata: The job metadata. Metadata provides client the ability to + store client-specific information + :type metadata: dict[str, str] + :param output_data_uri: The output blob SAS uri. When a job finishes + successfully, results will be uploaded to this blob. + :type output_data_uri: str + :param output_data_format: The format of the output data. + :type output_data_format: str + :ivar status: The job status. Possible values include: 'Waiting', + 'Executing', 'Succeeded', 'Failed', 'Cancelled' + :vartype status: str or ~azure.quantum.models.JobStatus + :ivar creation_time: The creation time of the job. + :vartype creation_time: datetime + :ivar begin_execution_time: The time when the job began execution. + :vartype begin_execution_time: datetime + :ivar end_execution_time: The time when the job finished execution. + :vartype end_execution_time: datetime + :ivar cancellation_time: The time when a job was successfully cancelled. + :vartype cancellation_time: datetime + :ivar error_data: The error data for the job. This is expected only when + Status 'Failed'. + :vartype error_data: ~azure.quantum.models.ErrorData + """ + + _validation = { + 'container_uri': {'required': True}, + 'input_data_format': {'required': True}, + 'provider_id': {'required': True}, + 'target': {'required': True}, + 'status': {'readonly': True}, + 'creation_time': {'readonly': True}, + 'begin_execution_time': {'readonly': True}, + 'end_execution_time': {'readonly': True}, + 'cancellation_time': {'readonly': True}, + 'error_data': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'container_uri': {'key': 'containerUri', 'type': 'str'}, + 'input_data_uri': {'key': 'inputDataUri', 'type': 'str'}, + 'input_data_format': {'key': 'inputDataFormat', 'type': 'str'}, + 'input_params': {'key': 'inputParams', 'type': 'object'}, + 'provider_id': {'key': 'providerId', 'type': 'str'}, + 'target': {'key': 'target', 'type': 'str'}, + 'metadata': {'key': 'metadata', 'type': '{str}'}, + 'output_data_uri': {'key': 'outputDataUri', 'type': 'str'}, + 'output_data_format': {'key': 'outputDataFormat', 'type': 'str'}, + 'status': {'key': 'status', 'type': 'str'}, + 'creation_time': {'key': 'creationTime', 'type': 'iso-8601'}, + 'begin_execution_time': {'key': 'beginExecutionTime', 'type': 'iso-8601'}, + 'end_execution_time': {'key': 'endExecutionTime', 'type': 'iso-8601'}, + 'cancellation_time': {'key': 'cancellationTime', 'type': 'iso-8601'}, + 'error_data': {'key': 'errorData', 'type': 'ErrorData'}, + } + + def __init__(self, *, container_uri: str, input_data_format: str, provider_id: str, target: str, id: str=None, name: str=None, input_data_uri: str=None, input_params=None, metadata=None, output_data_uri: str=None, output_data_format: str=None, **kwargs) -> None: + super(JobDetails, self).__init__(**kwargs) + self.id = id + self.name = name + self.container_uri = container_uri + self.input_data_uri = input_data_uri + self.input_data_format = input_data_format + self.input_params = input_params + self.provider_id = provider_id + self.target = target + self.metadata = metadata + self.output_data_uri = output_data_uri + self.output_data_format = output_data_format + self.status = None + self.creation_time = None + self.begin_execution_time = None + self.end_execution_time = None + self.cancellation_time = None + self.error_data = None diff --git a/src/quantum/azext_quantum/vendored_sdks/azure_quantum/models/provider_status.py b/src/quantum/azext_quantum/vendored_sdks/azure_quantum/models/provider_status.py new file mode 100644 index 00000000000..74a8a398980 --- /dev/null +++ b/src/quantum/azext_quantum/vendored_sdks/azure_quantum/models/provider_status.py @@ -0,0 +1,47 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class ProviderStatus(Model): + """Providers status. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Provider id. + :vartype id: str + :ivar current_availability: Provider availability. Possible values + include: 'Available', 'Degraded', 'Unavailable' + :vartype current_availability: str or + ~azure.quantum.models.ProviderAvailability + :ivar targets: + :vartype targets: list[~azure.quantum.models.TargetStatus] + """ + + _validation = { + 'id': {'readonly': True}, + 'current_availability': {'readonly': True}, + 'targets': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'current_availability': {'key': 'currentAvailability', 'type': 'str'}, + 'targets': {'key': 'targets', 'type': '[TargetStatus]'}, + } + + def __init__(self, **kwargs): + super(ProviderStatus, self).__init__(**kwargs) + self.id = None + self.current_availability = None + self.targets = None diff --git a/src/quantum/azext_quantum/vendored_sdks/azure_quantum/models/provider_status_paged.py b/src/quantum/azext_quantum/vendored_sdks/azure_quantum/models/provider_status_paged.py new file mode 100644 index 00000000000..630b1dcda60 --- /dev/null +++ b/src/quantum/azext_quantum/vendored_sdks/azure_quantum/models/provider_status_paged.py @@ -0,0 +1,27 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.paging import Paged + + +class ProviderStatusPaged(Paged): + """ + A paging container for iterating over a list of :class:`ProviderStatus ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[ProviderStatus]'} + } + + def __init__(self, *args, **kwargs): + + super(ProviderStatusPaged, self).__init__(*args, **kwargs) diff --git a/src/quantum/azext_quantum/vendored_sdks/azure_quantum/models/provider_status_py3.py b/src/quantum/azext_quantum/vendored_sdks/azure_quantum/models/provider_status_py3.py new file mode 100644 index 00000000000..c87bbe00ebb --- /dev/null +++ b/src/quantum/azext_quantum/vendored_sdks/azure_quantum/models/provider_status_py3.py @@ -0,0 +1,47 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class ProviderStatus(Model): + """Providers status. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Provider id. + :vartype id: str + :ivar current_availability: Provider availability. Possible values + include: 'Available', 'Degraded', 'Unavailable' + :vartype current_availability: str or + ~azure.quantum.models.ProviderAvailability + :ivar targets: + :vartype targets: list[~azure.quantum.models.TargetStatus] + """ + + _validation = { + 'id': {'readonly': True}, + 'current_availability': {'readonly': True}, + 'targets': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'current_availability': {'key': 'currentAvailability', 'type': 'str'}, + 'targets': {'key': 'targets', 'type': '[TargetStatus]'}, + } + + def __init__(self, **kwargs) -> None: + super(ProviderStatus, self).__init__(**kwargs) + self.id = None + self.current_availability = None + self.targets = None diff --git a/src/quantum/azext_quantum/vendored_sdks/azure_quantum/models/quantum_client_enums.py b/src/quantum/azext_quantum/vendored_sdks/azure_quantum/models/quantum_client_enums.py new file mode 100644 index 00000000000..38fa76b478b --- /dev/null +++ b/src/quantum/azext_quantum/vendored_sdks/azure_quantum/models/quantum_client_enums.py @@ -0,0 +1,47 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from enum import Enum + + +class JobStatus(str, Enum): + + waiting = "Waiting" + executing = "Executing" + succeeded = "Succeeded" + failed = "Failed" + cancelled = "Cancelled" + + +class ProviderAvailability(str, Enum): + + available = "Available" + degraded = "Degraded" + unavailable = "Unavailable" + + +class TargetAvailability(str, Enum): + + available = "Available" + degraded = "Degraded" + unavailable = "Unavailable" + + +class DimensionScope(str, Enum): + + workspace = "Workspace" + subscription = "Subscription" + + +class MeterPeriod(str, Enum): + + none = "None" + monthly = "Monthly" diff --git a/src/quantum/azext_quantum/vendored_sdks/azure_quantum/models/quota.py b/src/quantum/azext_quantum/vendored_sdks/azure_quantum/models/quota.py new file mode 100644 index 00000000000..66b6c0a4a2c --- /dev/null +++ b/src/quantum/azext_quantum/vendored_sdks/azure_quantum/models/quota.py @@ -0,0 +1,57 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class Quota(Model): + """Quota information. + + :param dimension: The name of the dimension associated with the quota. + :type dimension: str + :param scope: The scope at which the quota is applied. Possible values + include: 'Workspace', 'Subscription' + :type scope: str or ~azure.quantum.models.DimensionScope + :param provider_id: The unique identifier for the provider. + :type provider_id: str + :param utilization: The amount of the usage that has been applied for the + current period. + :type utilization: float + :param holds: The amount of the usage that has been reserved but not + applied for the current period. + :type holds: float + :param limit: The maximum amount of usage allowed for the current period. + :type limit: float + :param period: The time period in which the quota's underlying meter is + accumulated. Based on calendar year. 'None' is used for concurrent quotas. + Possible values include: 'None', 'Monthly' + :type period: str or ~azure.quantum.models.MeterPeriod + """ + + _attribute_map = { + 'dimension': {'key': 'dimension', 'type': 'str'}, + 'scope': {'key': 'scope', 'type': 'str'}, + 'provider_id': {'key': 'providerId', 'type': 'str'}, + 'utilization': {'key': 'utilization', 'type': 'float'}, + 'holds': {'key': 'holds', 'type': 'float'}, + 'limit': {'key': 'limit', 'type': 'float'}, + 'period': {'key': 'period', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(Quota, self).__init__(**kwargs) + self.dimension = kwargs.get('dimension', None) + self.scope = kwargs.get('scope', None) + self.provider_id = kwargs.get('provider_id', None) + self.utilization = kwargs.get('utilization', None) + self.holds = kwargs.get('holds', None) + self.limit = kwargs.get('limit', None) + self.period = kwargs.get('period', None) diff --git a/src/quantum/azext_quantum/vendored_sdks/azure_quantum/models/quota_paged.py b/src/quantum/azext_quantum/vendored_sdks/azure_quantum/models/quota_paged.py new file mode 100644 index 00000000000..b425263c886 --- /dev/null +++ b/src/quantum/azext_quantum/vendored_sdks/azure_quantum/models/quota_paged.py @@ -0,0 +1,27 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.paging import Paged + + +class QuotaPaged(Paged): + """ + A paging container for iterating over a list of :class:`Quota ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[Quota]'} + } + + def __init__(self, *args, **kwargs): + + super(QuotaPaged, self).__init__(*args, **kwargs) diff --git a/src/quantum/azext_quantum/vendored_sdks/azure_quantum/models/quota_py3.py b/src/quantum/azext_quantum/vendored_sdks/azure_quantum/models/quota_py3.py new file mode 100644 index 00000000000..0e7c260bcf5 --- /dev/null +++ b/src/quantum/azext_quantum/vendored_sdks/azure_quantum/models/quota_py3.py @@ -0,0 +1,57 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class Quota(Model): + """Quota information. + + :param dimension: The name of the dimension associated with the quota. + :type dimension: str + :param scope: The scope at which the quota is applied. Possible values + include: 'Workspace', 'Subscription' + :type scope: str or ~azure.quantum.models.DimensionScope + :param provider_id: The unique identifier for the provider. + :type provider_id: str + :param utilization: The amount of the usage that has been applied for the + current period. + :type utilization: float + :param holds: The amount of the usage that has been reserved but not + applied for the current period. + :type holds: float + :param limit: The maximum amount of usage allowed for the current period. + :type limit: float + :param period: The time period in which the quota's underlying meter is + accumulated. Based on calendar year. 'None' is used for concurrent quotas. + Possible values include: 'None', 'Monthly' + :type period: str or ~azure.quantum.models.MeterPeriod + """ + + _attribute_map = { + 'dimension': {'key': 'dimension', 'type': 'str'}, + 'scope': {'key': 'scope', 'type': 'str'}, + 'provider_id': {'key': 'providerId', 'type': 'str'}, + 'utilization': {'key': 'utilization', 'type': 'float'}, + 'holds': {'key': 'holds', 'type': 'float'}, + 'limit': {'key': 'limit', 'type': 'float'}, + 'period': {'key': 'period', 'type': 'str'}, + } + + def __init__(self, *, dimension: str=None, scope=None, provider_id: str=None, utilization: float=None, holds: float=None, limit: float=None, period=None, **kwargs) -> None: + super(Quota, self).__init__(**kwargs) + self.dimension = dimension + self.scope = scope + self.provider_id = provider_id + self.utilization = utilization + self.holds = holds + self.limit = limit + self.period = period diff --git a/src/quantum/azext_quantum/vendored_sdks/azure_quantum/models/rest_error.py b/src/quantum/azext_quantum/vendored_sdks/azure_quantum/models/rest_error.py new file mode 100644 index 00000000000..f50e5f7e52b --- /dev/null +++ b/src/quantum/azext_quantum/vendored_sdks/azure_quantum/models/rest_error.py @@ -0,0 +1,41 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model +from msrest.exceptions import HttpOperationError + + +class RestError(Model): + """Error information returned by the API. + + :param error: + :type error: ~azure.quantum.models.ErrorData + """ + + _attribute_map = { + 'error': {'key': 'error', 'type': 'ErrorData'}, + } + + def __init__(self, **kwargs): + super(RestError, self).__init__(**kwargs) + self.error = kwargs.get('error', None) + + +class RestErrorException(HttpOperationError): + """Server responsed with exception of type: 'RestError'. + + :param deserialize: A deserializer + :param response: Server response to be deserialized. + """ + + def __init__(self, deserialize, response, *args): + + super(RestErrorException, self).__init__(deserialize, response, 'RestError', *args) diff --git a/src/quantum/azext_quantum/vendored_sdks/azure_quantum/models/rest_error_py3.py b/src/quantum/azext_quantum/vendored_sdks/azure_quantum/models/rest_error_py3.py new file mode 100644 index 00000000000..f39b8fcf019 --- /dev/null +++ b/src/quantum/azext_quantum/vendored_sdks/azure_quantum/models/rest_error_py3.py @@ -0,0 +1,41 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model +from msrest.exceptions import HttpOperationError + + +class RestError(Model): + """Error information returned by the API. + + :param error: + :type error: ~azure.quantum.models.ErrorData + """ + + _attribute_map = { + 'error': {'key': 'error', 'type': 'ErrorData'}, + } + + def __init__(self, *, error=None, **kwargs) -> None: + super(RestError, self).__init__(**kwargs) + self.error = error + + +class RestErrorException(HttpOperationError): + """Server responsed with exception of type: 'RestError'. + + :param deserialize: A deserializer + :param response: Server response to be deserialized. + """ + + def __init__(self, deserialize, response, *args): + + super(RestErrorException, self).__init__(deserialize, response, 'RestError', *args) diff --git a/src/quantum/azext_quantum/vendored_sdks/azure_quantum/models/sas_uri_response.py b/src/quantum/azext_quantum/vendored_sdks/azure_quantum/models/sas_uri_response.py new file mode 100644 index 00000000000..de48f2c427e --- /dev/null +++ b/src/quantum/azext_quantum/vendored_sdks/azure_quantum/models/sas_uri_response.py @@ -0,0 +1,29 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class SasUriResponse(Model): + """Get SAS URL operation response. + + :param sas_uri: A URL with a SAS token to upload a blob for execution in + the given workspace. + :type sas_uri: str + """ + + _attribute_map = { + 'sas_uri': {'key': 'sasUri', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(SasUriResponse, self).__init__(**kwargs) + self.sas_uri = kwargs.get('sas_uri', None) diff --git a/src/quantum/azext_quantum/vendored_sdks/azure_quantum/models/sas_uri_response_py3.py b/src/quantum/azext_quantum/vendored_sdks/azure_quantum/models/sas_uri_response_py3.py new file mode 100644 index 00000000000..61e07b3568f --- /dev/null +++ b/src/quantum/azext_quantum/vendored_sdks/azure_quantum/models/sas_uri_response_py3.py @@ -0,0 +1,29 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class SasUriResponse(Model): + """Get SAS URL operation response. + + :param sas_uri: A URL with a SAS token to upload a blob for execution in + the given workspace. + :type sas_uri: str + """ + + _attribute_map = { + 'sas_uri': {'key': 'sasUri', 'type': 'str'}, + } + + def __init__(self, *, sas_uri: str=None, **kwargs) -> None: + super(SasUriResponse, self).__init__(**kwargs) + self.sas_uri = sas_uri diff --git a/src/quantum/azext_quantum/vendored_sdks/azure_quantum/models/target_status.py b/src/quantum/azext_quantum/vendored_sdks/azure_quantum/models/target_status.py new file mode 100644 index 00000000000..a97e8d6a373 --- /dev/null +++ b/src/quantum/azext_quantum/vendored_sdks/azure_quantum/models/target_status.py @@ -0,0 +1,52 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class TargetStatus(Model): + """Target status. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Target id. + :vartype id: str + :ivar current_availability: Target availability. Possible values include: + 'Available', 'Degraded', 'Unavailable' + :vartype current_availability: str or + ~azure.quantum.models.TargetAvailability + :ivar average_queue_time: Average queue time in seconds. + :vartype average_queue_time: long + :ivar status_page: A page with detailed status of the provider. + :vartype status_page: str + """ + + _validation = { + 'id': {'readonly': True}, + 'current_availability': {'readonly': True}, + 'average_queue_time': {'readonly': True}, + 'status_page': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'current_availability': {'key': 'currentAvailability', 'type': 'str'}, + 'average_queue_time': {'key': 'averageQueueTime', 'type': 'long'}, + 'status_page': {'key': 'statusPage', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(TargetStatus, self).__init__(**kwargs) + self.id = None + self.current_availability = None + self.average_queue_time = None + self.status_page = None diff --git a/src/quantum/azext_quantum/vendored_sdks/azure_quantum/models/target_status_py3.py b/src/quantum/azext_quantum/vendored_sdks/azure_quantum/models/target_status_py3.py new file mode 100644 index 00000000000..1313de7a8ed --- /dev/null +++ b/src/quantum/azext_quantum/vendored_sdks/azure_quantum/models/target_status_py3.py @@ -0,0 +1,52 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class TargetStatus(Model): + """Target status. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Target id. + :vartype id: str + :ivar current_availability: Target availability. Possible values include: + 'Available', 'Degraded', 'Unavailable' + :vartype current_availability: str or + ~azure.quantum.models.TargetAvailability + :ivar average_queue_time: Average queue time in seconds. + :vartype average_queue_time: long + :ivar status_page: A page with detailed status of the provider. + :vartype status_page: str + """ + + _validation = { + 'id': {'readonly': True}, + 'current_availability': {'readonly': True}, + 'average_queue_time': {'readonly': True}, + 'status_page': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'current_availability': {'key': 'currentAvailability', 'type': 'str'}, + 'average_queue_time': {'key': 'averageQueueTime', 'type': 'long'}, + 'status_page': {'key': 'statusPage', 'type': 'str'}, + } + + def __init__(self, **kwargs) -> None: + super(TargetStatus, self).__init__(**kwargs) + self.id = None + self.current_availability = None + self.average_queue_time = None + self.status_page = None diff --git a/src/quantum/azext_quantum/vendored_sdks/azure_quantum/operations/__init__.py b/src/quantum/azext_quantum/vendored_sdks/azure_quantum/operations/__init__.py new file mode 100644 index 00000000000..86281dc0138 --- /dev/null +++ b/src/quantum/azext_quantum/vendored_sdks/azure_quantum/operations/__init__.py @@ -0,0 +1,22 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from .jobs_operations import JobsOperations +from .providers_operations import ProvidersOperations +from .storage_operations import StorageOperations +from .quotas_operations import QuotasOperations + +__all__ = [ + 'JobsOperations', + 'ProvidersOperations', + 'StorageOperations', + 'QuotasOperations', +] diff --git a/src/quantum/azext_quantum/vendored_sdks/azure_quantum/operations/jobs_operations.py b/src/quantum/azext_quantum/vendored_sdks/azure_quantum/operations/jobs_operations.py new file mode 100644 index 00000000000..a0d88ec04ad --- /dev/null +++ b/src/quantum/azext_quantum/vendored_sdks/azure_quantum/operations/jobs_operations.py @@ -0,0 +1,277 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError + +from .. import models + + +class JobsOperations(object): + """JobsOperations operations. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + + self.config = config + + def list( + self, custom_headers=None, raw=False, **operation_config): + """List jobs. + + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of JobDetails + :rtype: + ~azure.quantum.models.JobDetailsPaged[~azure.quantum.models.JobDetails] + :raises: :class:`CloudError` + """ + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("self.config.resource_group_name", self.config.resource_group_name, 'str'), + 'workspaceName': self._serialize.url("self.config.workspace_name", self.config.workspace_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + deserialized = models.JobDetailsPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.JobDetailsPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list.metadata = {'url': '/v1.0/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Quantum/workspaces/{workspaceName}/jobs'} + + def get( + self, job_id, custom_headers=None, raw=False, **operation_config): + """Get job by id. + + :param job_id: Id of the job. + :type job_id: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: JobDetails or ClientRawResponse if raw=true + :rtype: ~azure.quantum.models.JobDetails or + ~msrest.pipeline.ClientRawResponse + :raises: + :class:`RestErrorException` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("self.config.resource_group_name", self.config.resource_group_name, 'str'), + 'workspaceName': self._serialize.url("self.config.workspace_name", self.config.workspace_name, 'str'), + 'jobId': self._serialize.url("job_id", job_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.RestErrorException(self._deserialize, response) + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('JobDetails', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/v1.0/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Quantum/workspaces/{workspaceName}/jobs/{jobId}'} + + def create( + self, job_id, job, custom_headers=None, raw=False, **operation_config): + """Create a job. + + :param job_id: Id of the job. + :type job_id: str + :param job: The complete metadata of the job to submit. + :type job: ~azure.quantum.models.JobDetails + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: JobDetails or ClientRawResponse if raw=true + :rtype: ~azure.quantum.models.JobDetails or + ~msrest.pipeline.ClientRawResponse + :raises: + :class:`RestErrorException` + """ + # Construct URL + url = self.create.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("self.config.resource_group_name", self.config.resource_group_name, 'str'), + 'workspaceName': self._serialize.url("self.config.workspace_name", self.config.workspace_name, 'str'), + 'jobId': self._serialize.url("job_id", job_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct body + body_content = self._serialize.body(job, 'JobDetails') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 201]: + raise models.RestErrorException(self._deserialize, response) + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('JobDetails', response) + if response.status_code == 201: + deserialized = self._deserialize('JobDetails', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + create.metadata = {'url': '/v1.0/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Quantum/workspaces/{workspaceName}/jobs/{jobId}'} + + def cancel( + self, job_id, custom_headers=None, raw=False, **operation_config): + """Cancel a job. + + :param job_id: Id of the job. + :type job_id: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: None or ClientRawResponse if raw=true + :rtype: None or ~msrest.pipeline.ClientRawResponse + :raises: + :class:`RestErrorException` + """ + # Construct URL + url = self.cancel.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("self.config.resource_group_name", self.config.resource_group_name, 'str'), + 'workspaceName': self._serialize.url("self.config.workspace_name", self.config.workspace_name, 'str'), + 'jobId': self._serialize.url("job_id", job_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + + # Construct headers + header_parameters = {} + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [204]: + raise models.RestErrorException(self._deserialize, response) + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + cancel.metadata = {'url': '/v1.0/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Quantum/workspaces/{workspaceName}/jobs/{jobId}'} diff --git a/src/quantum/azext_quantum/vendored_sdks/azure_quantum/operations/providers_operations.py b/src/quantum/azext_quantum/vendored_sdks/azure_quantum/operations/providers_operations.py new file mode 100644 index 00000000000..0835a2dd073 --- /dev/null +++ b/src/quantum/azext_quantum/vendored_sdks/azure_quantum/operations/providers_operations.py @@ -0,0 +1,99 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse + +from .. import models + + +class ProvidersOperations(object): + """ProvidersOperations operations. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + + self.config = config + + def get_status( + self, custom_headers=None, raw=False, **operation_config): + """Get provider status. + + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of ProviderStatus + :rtype: + ~azure.quantum.models.ProviderStatusPaged[~azure.quantum.models.ProviderStatus] + :raises: + :class:`RestErrorException` + """ + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.get_status.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("self.config.resource_group_name", self.config.resource_group_name, 'str'), + 'workspaceName': self._serialize.url("self.config.workspace_name", self.config.workspace_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.RestErrorException(self._deserialize, response) + + return response + + # Deserialize response + deserialized = models.ProviderStatusPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.ProviderStatusPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + get_status.metadata = {'url': '/v1.0/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Quantum/workspaces/{workspaceName}/providerStatus'} diff --git a/src/quantum/azext_quantum/vendored_sdks/azure_quantum/operations/quotas_operations.py b/src/quantum/azext_quantum/vendored_sdks/azure_quantum/operations/quotas_operations.py new file mode 100644 index 00000000000..dfc59b10e13 --- /dev/null +++ b/src/quantum/azext_quantum/vendored_sdks/azure_quantum/operations/quotas_operations.py @@ -0,0 +1,98 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse + +from .. import models + + +class QuotasOperations(object): + """QuotasOperations operations. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + + self.config = config + + def list( + self, custom_headers=None, raw=False, **operation_config): + """List quotas for the given workspace. + + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of Quota + :rtype: ~azure.quantum.models.QuotaPaged[~azure.quantum.models.Quota] + :raises: + :class:`RestErrorException` + """ + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("self.config.resource_group_name", self.config.resource_group_name, 'str'), + 'workspaceName': self._serialize.url("self.config.workspace_name", self.config.workspace_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.RestErrorException(self._deserialize, response) + + return response + + # Deserialize response + deserialized = models.QuotaPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.QuotaPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list.metadata = {'url': '/v1.0/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Quantum/workspaces/{workspaceName}/quotas'} diff --git a/src/quantum/azext_quantum/vendored_sdks/azure_quantum/operations/storage_operations.py b/src/quantum/azext_quantum/vendored_sdks/azure_quantum/operations/storage_operations.py new file mode 100644 index 00000000000..eabe621c26e --- /dev/null +++ b/src/quantum/azext_quantum/vendored_sdks/azure_quantum/operations/storage_operations.py @@ -0,0 +1,100 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse + +from .. import models + + +class StorageOperations(object): + """StorageOperations operations. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + + self.config = config + + def sas_uri( + self, blob_details, custom_headers=None, raw=False, **operation_config): + """Gets a URL with SAS token for a container/blob in the storage account + associated with the workspace. The SAS URL can be used to upload job + input and/or download job output. + + :param blob_details: The details (name and container) of the blob to + store or download data. + :type blob_details: ~azure.quantum.models.BlobDetails + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: SasUriResponse or ClientRawResponse if raw=true + :rtype: ~azure.quantum.models.SasUriResponse or + ~msrest.pipeline.ClientRawResponse + :raises: + :class:`RestErrorException` + """ + # Construct URL + url = self.sas_uri.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("self.config.resource_group_name", self.config.resource_group_name, 'str'), + 'workspaceName': self._serialize.url("self.config.workspace_name", self.config.workspace_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct body + body_content = self._serialize.body(blob_details, 'BlobDetails') + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.RestErrorException(self._deserialize, response) + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('SasUriResponse', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + sas_uri.metadata = {'url': '/v1.0/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Quantum/workspaces/{workspaceName}/storage/sasUri'} diff --git a/src/quantum/azext_quantum/vendored_sdks/azure_quantum/quantum_client.py b/src/quantum/azext_quantum/vendored_sdks/azure_quantum/quantum_client.py new file mode 100644 index 00000000000..7cef055b3a2 --- /dev/null +++ b/src/quantum/azext_quantum/vendored_sdks/azure_quantum/quantum_client.py @@ -0,0 +1,112 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.service_client import SDKClient +from msrest import Serializer, Deserializer +from msrestazure import AzureConfiguration +from .version import VERSION +from .operations.jobs_operations import JobsOperations +from .operations.providers_operations import ProvidersOperations +from .operations.storage_operations import StorageOperations +from .operations.quotas_operations import QuotasOperations +from . import models + + +class QuantumClientConfiguration(AzureConfiguration): + """Configuration for QuantumClient + Note that all parameters used to create this instance are saved as instance + attributes. + + :param credentials: Credentials needed for the client to connect to Azure. + :type credentials: :mod:`A msrestazure Credentials + object` + :param subscription_id: The Azure subscription ID. This is a + GUID-formatted string (e.g. 00000000-0000-0000-0000-000000000000) + :type subscription_id: str + :param resource_group_name: Name of an Azure resource group. + :type resource_group_name: str + :param workspace_name: Name of the workspace. + :type workspace_name: str + :param str base_url: Service URL + """ + + def __init__( + self, credentials, subscription_id, resource_group_name, workspace_name, base_url=None): + + if credentials is None: + raise ValueError("Parameter 'credentials' must not be None.") + if subscription_id is None: + raise ValueError("Parameter 'subscription_id' must not be None.") + if resource_group_name is None: + raise ValueError("Parameter 'resource_group_name' must not be None.") + if workspace_name is None: + raise ValueError("Parameter 'workspace_name' must not be None.") + if not base_url: + base_url = 'https://quantum.azure.com' + + super(QuantumClientConfiguration, self).__init__(base_url) + + self.add_user_agent('quantumclient/{}'.format(VERSION)) + self.add_user_agent('Azure-SDK-For-Python') + + self.credentials = credentials + self.subscription_id = subscription_id + self.resource_group_name = resource_group_name + self.workspace_name = workspace_name + + +class QuantumClient(SDKClient): + """Azure Quantum REST API client + + :ivar config: Configuration for client. + :vartype config: QuantumClientConfiguration + + :ivar jobs: Jobs operations + :vartype jobs: azure.quantum.operations.JobsOperations + :ivar providers: Providers operations + :vartype providers: azure.quantum.operations.ProvidersOperations + :ivar storage: Storage operations + :vartype storage: azure.quantum.operations.StorageOperations + :ivar quotas: Quotas operations + :vartype quotas: azure.quantum.operations.QuotasOperations + + :param credentials: Credentials needed for the client to connect to Azure. + :type credentials: :mod:`A msrestazure Credentials + object` + :param subscription_id: The Azure subscription ID. This is a + GUID-formatted string (e.g. 00000000-0000-0000-0000-000000000000) + :type subscription_id: str + :param resource_group_name: Name of an Azure resource group. + :type resource_group_name: str + :param workspace_name: Name of the workspace. + :type workspace_name: str + :param str base_url: Service URL + """ + + def __init__( + self, credentials, subscription_id, resource_group_name, workspace_name, base_url=None): + + self.config = QuantumClientConfiguration(credentials, subscription_id, resource_group_name, workspace_name, base_url) + super(QuantumClient, self).__init__(self.config.credentials, self.config) + + client_models = {k: v for k, v in models.__dict__.items() if isinstance(v, type)} + self.api_version = '2019-11-04-preview' + self._serialize = Serializer(client_models) + self._deserialize = Deserializer(client_models) + + self.jobs = JobsOperations( + self._client, self.config, self._serialize, self._deserialize) + self.providers = ProvidersOperations( + self._client, self.config, self._serialize, self._deserialize) + self.storage = StorageOperations( + self._client, self.config, self._serialize, self._deserialize) + self.quotas = QuotasOperations( + self._client, self.config, self._serialize, self._deserialize) diff --git a/src/quantum/azext_quantum/vendored_sdks/azure_quantum/version.py b/src/quantum/azext_quantum/vendored_sdks/azure_quantum/version.py new file mode 100644 index 00000000000..f85b9c12434 --- /dev/null +++ b/src/quantum/azext_quantum/vendored_sdks/azure_quantum/version.py @@ -0,0 +1,13 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +VERSION = "2019-11-04-preview" + diff --git a/src/quantum/setup.cfg b/src/quantum/setup.cfg new file mode 100644 index 00000000000..af57bc0b387 --- /dev/null +++ b/src/quantum/setup.cfg @@ -0,0 +1 @@ +[bdist_wheel] diff --git a/src/quantum/setup.py b/src/quantum/setup.py new file mode 100644 index 00000000000..283fe667f83 --- /dev/null +++ b/src/quantum/setup.py @@ -0,0 +1,56 @@ +#!/usr/bin/env python + +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- + + +from codecs import open +from setuptools import setup, find_packages +try: + from azure_bdist_wheel import cmdclass +except ImportError: + from distutils import log as logger + logger.warn("Wheel is not available, disabling bdist_wheel hook") + +# TODO: Confirm this is the right version number you want and it matches your +# HISTORY.rst entry. +VERSION = '0.1.0' + +# The full list of classifiers is available at +# https://pypi.python.org/pypi?%3Aaction=list_classifiers +CLASSIFIERS = [ + 'Development Status :: 4 - Beta', + 'Intended Audience :: Developers', + 'Intended Audience :: System Administrators', + 'Programming Language :: Python', + 'Programming Language :: Python :: 3', + 'Programming Language :: Python :: 3.6', + 'Programming Language :: Python :: 3.7', + 'Programming Language :: Python :: 3.8', + 'License :: OSI Approved :: MIT License', +] + +DEPENDENCIES = [ +] + +with open('README.rst', 'r', encoding='utf-8') as f: + README = f.read() +with open('HISTORY.rst', 'r', encoding='utf-8') as f: + HISTORY = f.read() + +setup( + name='quantum', + version=VERSION, + description='Microsoft Azure Command-Line Tools Quantum Extension', + author='Microsoft Corporation, Quantum Team', + author_email='que-contacts@microsoft.com', + url='https://github.com/Azure/azure-cli-extensions', + long_description=README + '\n\n' + HISTORY, + license='MIT', + classifiers=CLASSIFIERS, + packages=find_packages(), + install_requires=DEPENDENCIES, + package_data={'azext_quantum': ['azext_metadata.json']}, +)