From 3db8a4d3000f611c98281204eb7394a3d0642927 Mon Sep 17 00:00:00 2001 From: Derek Bekoe Date: Wed, 30 Mar 2022 04:55:48 +0000 Subject: [PATCH] Remove Codespaces extension --- .github/CODEOWNERS | 2 - src/codespaces/HISTORY.rst | 26 - src/codespaces/README.rst | 34 - src/codespaces/azext_codespaces/__init__.py | 52 -- .../azext_codespaces/_client_factory.py | 17 - src/codespaces/azext_codespaces/_config.py | 30 - src/codespaces/azext_codespaces/_help.py | 231 ------ .../azext_codespaces/_non_arm_apis.py | 218 ------ src/codespaces/azext_codespaces/_params.py | 74 -- .../azext_codespaces/_transformers.py | 62 -- .../azext_codespaces/_validators.py | 44 -- .../azext_codespaces/azext_metadata.json | 4 - src/codespaces/azext_codespaces/commands.py | 64 -- src/codespaces/azext_codespaces/custom.py | 266 ------- .../azext_codespaces/tests/__init__.py | 5 - .../azext_codespaces/tests/latest/__init__.py | 5 - .../recordings/test_codespaces_location.yaml | 93 --- .../recordings/test_codespaces_plan.yaml | 292 -------- .../tests/latest/test_codespaces_scenario.py | 67 -- .../vendored_sdks/__init__.py | 6 - .../vendored_sdks/codespaces/__init__.py | 18 - .../codespaces/codespaces_client.py | 89 --- .../codespaces/models/__init__.py | 72 -- .../models/codespaces_client_enums.py | 17 - ...aces_delegate_access_token_request_body.py | 53 -- ..._delegate_access_token_request_body_py3.py | 53 -- .../models/codespaces_delegate_identity.py | 45 -- .../codespaces_delegate_identity_py3.py | 45 -- .../codespaces_operations_error_response.py | 42 -- ...odespaces_operations_error_response_py3.py | 42 -- .../codespaces/models/codespaces_plan.py | 62 -- .../models/codespaces_plan_access_token.py | 35 - .../codespaces_plan_access_token_py3.py | 35 - .../models/codespaces_plan_error_response.py | 42 -- .../codespaces_plan_error_response_py3.py | 42 -- .../models/codespaces_plan_paged.py | 27 - .../models/codespaces_plan_properties.py | 41 - .../models/codespaces_plan_properties_py3.py | 41 - .../codespaces/models/codespaces_plan_py3.py | 62 -- .../codespaces_plan_update_parameters.py | 37 - ...paces_plan_update_parameters_properties.py | 39 - ...s_plan_update_parameters_properties_py3.py | 39 - .../codespaces_plan_update_parameters_py3.py | 37 - .../codespaces/models/error_definition.py | 46 -- .../codespaces/models/error_definition_py3.py | 46 -- .../codespaces/models/identity.py | 34 - .../codespaces/models/identity_py3.py | 34 - .../codespaces/models/resource.py | 53 -- .../resource_provider_operation_definition.py | 33 - ...rce_provider_operation_definition_paged.py | 27 - ...ource_provider_operation_definition_py3.py | 33 - .../resource_provider_operation_display.py | 40 - ...resource_provider_operation_display_py3.py | 40 - .../codespaces/models/resource_py3.py | 53 -- .../vendored_sdks/codespaces/models/sku.py | 44 -- .../codespaces/models/sku_py3.py | 44 -- .../codespaces/models/vnet_properties.py | 33 - .../codespaces/models/vnet_properties_py3.py | 33 - .../codespaces/operations/__init__.py | 18 - .../codespaces/operations/operations.py | 100 --- .../codespaces/operations/plan_operations.py | 709 ------------------ .../vendored_sdks/codespaces/version.py | 13 - src/codespaces/azext_codespaces/version.py | 6 - src/codespaces/setup.cfg | 2 - src/codespaces/setup.py | 59 -- src/index.json | 174 ----- src/service_name.json | 5 - 67 files changed, 4286 deletions(-) delete mode 100644 src/codespaces/HISTORY.rst delete mode 100644 src/codespaces/README.rst delete mode 100644 src/codespaces/azext_codespaces/__init__.py delete mode 100644 src/codespaces/azext_codespaces/_client_factory.py delete mode 100644 src/codespaces/azext_codespaces/_config.py delete mode 100644 src/codespaces/azext_codespaces/_help.py delete mode 100644 src/codespaces/azext_codespaces/_non_arm_apis.py delete mode 100644 src/codespaces/azext_codespaces/_params.py delete mode 100644 src/codespaces/azext_codespaces/_transformers.py delete mode 100644 src/codespaces/azext_codespaces/_validators.py delete mode 100644 src/codespaces/azext_codespaces/azext_metadata.json delete mode 100644 src/codespaces/azext_codespaces/commands.py delete mode 100644 src/codespaces/azext_codespaces/custom.py delete mode 100644 src/codespaces/azext_codespaces/tests/__init__.py delete mode 100644 src/codespaces/azext_codespaces/tests/latest/__init__.py delete mode 100644 src/codespaces/azext_codespaces/tests/latest/recordings/test_codespaces_location.yaml delete mode 100644 src/codespaces/azext_codespaces/tests/latest/recordings/test_codespaces_plan.yaml delete mode 100644 src/codespaces/azext_codespaces/tests/latest/test_codespaces_scenario.py delete mode 100644 src/codespaces/azext_codespaces/vendored_sdks/__init__.py delete mode 100644 src/codespaces/azext_codespaces/vendored_sdks/codespaces/__init__.py delete mode 100644 src/codespaces/azext_codespaces/vendored_sdks/codespaces/codespaces_client.py delete mode 100644 src/codespaces/azext_codespaces/vendored_sdks/codespaces/models/__init__.py delete mode 100644 src/codespaces/azext_codespaces/vendored_sdks/codespaces/models/codespaces_client_enums.py delete mode 100644 src/codespaces/azext_codespaces/vendored_sdks/codespaces/models/codespaces_delegate_access_token_request_body.py delete mode 100644 src/codespaces/azext_codespaces/vendored_sdks/codespaces/models/codespaces_delegate_access_token_request_body_py3.py delete mode 100644 src/codespaces/azext_codespaces/vendored_sdks/codespaces/models/codespaces_delegate_identity.py delete mode 100644 src/codespaces/azext_codespaces/vendored_sdks/codespaces/models/codespaces_delegate_identity_py3.py delete mode 100644 src/codespaces/azext_codespaces/vendored_sdks/codespaces/models/codespaces_operations_error_response.py delete mode 100644 src/codespaces/azext_codespaces/vendored_sdks/codespaces/models/codespaces_operations_error_response_py3.py delete mode 100644 src/codespaces/azext_codespaces/vendored_sdks/codespaces/models/codespaces_plan.py delete mode 100644 src/codespaces/azext_codespaces/vendored_sdks/codespaces/models/codespaces_plan_access_token.py delete mode 100644 src/codespaces/azext_codespaces/vendored_sdks/codespaces/models/codespaces_plan_access_token_py3.py delete mode 100644 src/codespaces/azext_codespaces/vendored_sdks/codespaces/models/codespaces_plan_error_response.py delete mode 100644 src/codespaces/azext_codespaces/vendored_sdks/codespaces/models/codespaces_plan_error_response_py3.py delete mode 100644 src/codespaces/azext_codespaces/vendored_sdks/codespaces/models/codespaces_plan_paged.py delete mode 100644 src/codespaces/azext_codespaces/vendored_sdks/codespaces/models/codespaces_plan_properties.py delete mode 100644 src/codespaces/azext_codespaces/vendored_sdks/codespaces/models/codespaces_plan_properties_py3.py delete mode 100644 src/codespaces/azext_codespaces/vendored_sdks/codespaces/models/codespaces_plan_py3.py delete mode 100644 src/codespaces/azext_codespaces/vendored_sdks/codespaces/models/codespaces_plan_update_parameters.py delete mode 100644 src/codespaces/azext_codespaces/vendored_sdks/codespaces/models/codespaces_plan_update_parameters_properties.py delete mode 100644 src/codespaces/azext_codespaces/vendored_sdks/codespaces/models/codespaces_plan_update_parameters_properties_py3.py delete mode 100644 src/codespaces/azext_codespaces/vendored_sdks/codespaces/models/codespaces_plan_update_parameters_py3.py delete mode 100644 src/codespaces/azext_codespaces/vendored_sdks/codespaces/models/error_definition.py delete mode 100644 src/codespaces/azext_codespaces/vendored_sdks/codespaces/models/error_definition_py3.py delete mode 100644 src/codespaces/azext_codespaces/vendored_sdks/codespaces/models/identity.py delete mode 100644 src/codespaces/azext_codespaces/vendored_sdks/codespaces/models/identity_py3.py delete mode 100644 src/codespaces/azext_codespaces/vendored_sdks/codespaces/models/resource.py delete mode 100644 src/codespaces/azext_codespaces/vendored_sdks/codespaces/models/resource_provider_operation_definition.py delete mode 100644 src/codespaces/azext_codespaces/vendored_sdks/codespaces/models/resource_provider_operation_definition_paged.py delete mode 100644 src/codespaces/azext_codespaces/vendored_sdks/codespaces/models/resource_provider_operation_definition_py3.py delete mode 100644 src/codespaces/azext_codespaces/vendored_sdks/codespaces/models/resource_provider_operation_display.py delete mode 100644 src/codespaces/azext_codespaces/vendored_sdks/codespaces/models/resource_provider_operation_display_py3.py delete mode 100644 src/codespaces/azext_codespaces/vendored_sdks/codespaces/models/resource_py3.py delete mode 100644 src/codespaces/azext_codespaces/vendored_sdks/codespaces/models/sku.py delete mode 100644 src/codespaces/azext_codespaces/vendored_sdks/codespaces/models/sku_py3.py delete mode 100644 src/codespaces/azext_codespaces/vendored_sdks/codespaces/models/vnet_properties.py delete mode 100644 src/codespaces/azext_codespaces/vendored_sdks/codespaces/models/vnet_properties_py3.py delete mode 100644 src/codespaces/azext_codespaces/vendored_sdks/codespaces/operations/__init__.py delete mode 100644 src/codespaces/azext_codespaces/vendored_sdks/codespaces/operations/operations.py delete mode 100644 src/codespaces/azext_codespaces/vendored_sdks/codespaces/operations/plan_operations.py delete mode 100644 src/codespaces/azext_codespaces/vendored_sdks/codespaces/version.py delete mode 100644 src/codespaces/azext_codespaces/version.py delete mode 100644 src/codespaces/setup.cfg delete mode 100644 src/codespaces/setup.py diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index e466001d5ec..f36de88c52e 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -150,8 +150,6 @@ /src/blockchain/ @jsntcy -/src/codespaces/ @derekbekoe - /src/desktopvirtualization/ @changlong-liu /src/attestation/ @YalinLi0312 @houk-ms diff --git a/src/codespaces/HISTORY.rst b/src/codespaces/HISTORY.rst deleted file mode 100644 index 2cf797cc351..00000000000 --- a/src/codespaces/HISTORY.rst +++ /dev/null @@ -1,26 +0,0 @@ -.. :changelog: - -Release History -=============== - -0.3.0 -++++++ -* Switch to new Resource Provider - Microsoft.Codespaces - -0.2.1 -++++++ -* Added 60 minute auto-suspend timeout option - -0.2.0 -++++++ -* Update to latest resource provider API version, 2020-05-26. -* Plan creation: Set plan defaults (default sku, default suspend timeout). -* Plan creation: `--subnet` argument to create a plan with a vnet. -* Codespace creation: Plan defaults will be used for --instance-type and --suspend-after if available and you haven't specified to override the defaults. -* New `az codespace update` command (support for editing sku/suspend timeout of a Suspended codespace). -* `az codespace list` new behavior: By default, we now only show your codespaces. Add `--all` flag to `az codespace list` command to list codespaces of all users. -* Support Secrets Management. - -0.1.0 -++++++ -* Initial release. diff --git a/src/codespaces/README.rst b/src/codespaces/README.rst deleted file mode 100644 index 7de82d8f4bc..00000000000 --- a/src/codespaces/README.rst +++ /dev/null @@ -1,34 +0,0 @@ -Microsoft Azure CLI 'codespaces' Extension -========================================== - -Visual Studio Codespaces - Cloud-powered development environments accessible from anywhere. - -https://azure.microsoft.com/en-us/services/visual-studio-online/ - -Updating the vendored SDK -------------------------- - -``` -cd specification/codespaces/resource-manager -autorest --python readme.md -``` - -Custom changes made to auto-generated SDK: -1. Remove trailing `/` from `list_by_resource_group` and `list_by_subscription` plan operations as server will reject request otherwise. -2. Add support for custom API version to be set. - -Before submitting a PR ----------------------- - -``` -azdev style codespaces -azdev linter codespaces -azdev test codespaces -``` - -Test extension on fresh set up: -``` -azdev extension build codespaces -docker run -v .../azure-cli-extensions/dist:/ext -it mcr.microsoft.com/azure-cli -az extension add --source /ext/codespaces-VERSION-py2.py3-none-any.whl -``` diff --git a/src/codespaces/azext_codespaces/__init__.py b/src/codespaces/azext_codespaces/__init__.py deleted file mode 100644 index caa2031ef87..00000000000 --- a/src/codespaces/azext_codespaces/__init__.py +++ /dev/null @@ -1,52 +0,0 @@ -# -------------------------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license information. -# -------------------------------------------------------------------------------------------- - -from knack.events import EVENT_INVOKER_POST_PARSE_ARGS -from knack.log import get_logger -from azure.cli.core import AzCommandsLoader - -from ._help import helps # pylint: disable=unused-import -from ._config import get_rp_api_version, get_service_domain, DEFAULT_SERVICE_DOMAIN - -logger = get_logger(__name__) - - -def log_custom_config_message(cli_ctx): - custom_rp_api_version = get_rp_api_version(cli_ctx) - if custom_rp_api_version: - logger.warning("Codespaces: Using custom resource provider api version %s", custom_rp_api_version) - custom_service_domain = get_service_domain(cli_ctx) - if custom_service_domain != DEFAULT_SERVICE_DOMAIN: - logger.warning("Codespaces: Using custom service domain %s", custom_service_domain) - - -def event_handler(cli_ctx, **kwargs): - cmd = kwargs.get('command', None) - if cmd and cmd.startswith('codespace'): - log_custom_config_message(cli_ctx) - - -class CodespacesCommandsLoader(AzCommandsLoader): - - def __init__(self, cli_ctx=None): - from azure.cli.core.commands import CliCommandType - from ._client_factory import cf_codespaces - codespaces_custom = CliCommandType( - operations_tmpl='azext_codespaces.custom#{}', - client_factory=cf_codespaces) - cli_ctx.register_event(EVENT_INVOKER_POST_PARSE_ARGS, event_handler) - super(CodespacesCommandsLoader, self).__init__(cli_ctx=cli_ctx, custom_command_type=codespaces_custom) - - def load_command_table(self, args): - from .commands import load_command_table - load_command_table(self, args) - return self.command_table - - def load_arguments(self, command): - from ._params import load_arguments - load_arguments(self, command) - - -COMMAND_LOADER_CLS = CodespacesCommandsLoader diff --git a/src/codespaces/azext_codespaces/_client_factory.py b/src/codespaces/azext_codespaces/_client_factory.py deleted file mode 100644 index cb0342aa77a..00000000000 --- a/src/codespaces/azext_codespaces/_client_factory.py +++ /dev/null @@ -1,17 +0,0 @@ -# -------------------------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license information. -# -------------------------------------------------------------------------------------------- - -from ._config import get_rp_api_version - - -def cf_codespaces(cli_ctx, *_): - from azure.cli.core.commands.client_factory import get_mgmt_service_client - from .vendored_sdks.codespaces.codespaces_client import CodespacesClient - custom_api_version = get_rp_api_version(cli_ctx) - return get_mgmt_service_client(cli_ctx, CodespacesClient, api_version=custom_api_version) - - -def cf_codespaces_plan(cli_ctx, *_): - return cf_codespaces(cli_ctx).plan diff --git a/src/codespaces/azext_codespaces/_config.py b/src/codespaces/azext_codespaces/_config.py deleted file mode 100644 index e2c55cd3801..00000000000 --- a/src/codespaces/azext_codespaces/_config.py +++ /dev/null @@ -1,30 +0,0 @@ -# -------------------------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license information. -# -------------------------------------------------------------------------------------------- - -DEFAULT_SERVICE_DOMAIN = "online.visualstudio.com" - -CONFIG_SECTION = 'codespaces' -KEY_RESOURCE_PROVIDER_API_VERSION = 'resource_provider_api_version' -KEY_SERVICE_DOMAIN = 'service_domain' - - -def get_rp_api_version(cli_ctx): - return cli_ctx.config.get(CONFIG_SECTION, KEY_RESOURCE_PROVIDER_API_VERSION, fallback=None) - - -def get_service_domain(cli_ctx): - return cli_ctx.config.get(CONFIG_SECTION, KEY_SERVICE_DOMAIN, fallback=None) or DEFAULT_SERVICE_DOMAIN - - -def get_current_config(cli_ctx): - return cli_ctx.config.items(CONFIG_SECTION) - - -def set_rp_api_version(cli_ctx, val): - cli_ctx.config.set_value(CONFIG_SECTION, KEY_RESOURCE_PROVIDER_API_VERSION, val) - - -def set_service_domain(cli_ctx, val): - cli_ctx.config.set_value(CONFIG_SECTION, KEY_SERVICE_DOMAIN, val) diff --git a/src/codespaces/azext_codespaces/_help.py b/src/codespaces/azext_codespaces/_help.py deleted file mode 100644 index f8aad1bf80d..00000000000 --- a/src/codespaces/azext_codespaces/_help.py +++ /dev/null @@ -1,231 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license information. -# -------------------------------------------------------------------------------------------- - -from knack.help_files import helps # pylint: disable=unused-import - - -helps['codespace'] = """ - type: group - short-summary: Manage Visual Studio Codespaces. -""" - -helps['codespace location'] = """ - type: group - short-summary: Information on available regions. -""" - -helps['codespace plan'] = """ - type: group - short-summary: Manage Codespace plans. -""" - -helps['codespace secret'] = """ - type: group - short-summary: Manage plan secrets. -""" - -helps['codespace location list'] = """ - type: command - short-summary: List available regions. -""" - -helps['codespace location show'] = """ - type: command - short-summary: Show details of a region. -""" - -helps['codespace plan create'] = """ - type: command - short-summary: Create a Codespace plan. - examples: - - name: Create a plan in same region as resource group - text: az codespace plan create -g my-rg -n my-plan - - name: Create a plan in a specific region - text: az codespace plan create -g my-rg -n my-plan -l westus2 - - name: Create a plan with tags - text: az codespace plan create -g my-rg -n my-plan --tags tagname=tagvalue - - name: Create a plan with a default instance type - text: az codespace plan create -g my-rg -n my-plan --default-instance-type premiumLinux - - name: Create a plan with a default suspend after - text: az codespace plan create -g my-rg -n my-plan --default-suspend-after 120 - - name: Create a plan associated with a subnet - text: az codespace plan create -g my-rg -n my-plan --subnet /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/my-rg/providers/Microsoft.Network/virtualNetworks/my-vnet/subnets/default -""" - -helps['codespace plan list'] = """ - type: command - short-summary: List Codespace plans. - examples: - - name: List plans - text: az codespace plan list - - name: List plans in a given resource group - text: az codespace plan list -g my-rg -""" - -helps['codespace plan delete'] = """ - type: command - short-summary: Delete a Codespace plan. - examples: - - name: Delete a plan - text: az codespace plan delete -g my-rg -n my-plan -""" - -helps['codespace plan show'] = """ - type: command - short-summary: Show details of a Codespace plan. - examples: - - name: Show details of a plan - text: az codespace plan show -g my-rg -n my-plan -""" - -helps['codespace create'] = """ - type: command - short-summary: Create a Codespace. - parameters: - - name: --instance-type - short-summary: Instance Type - populator-commands: - - az codespace location show - examples: - - name: Create a Codespace with default plan settings - text: az codespace create -g my-rg --plan my-plan --name my-codespace - - name: Create a Codespace with a different instance type with custom suspend time - text: az codespace create -g my-rg --plan my-plan --name my-codespace --instance-type premiumLinux --suspend-after 5 - - name: Create a Codespace with a git repo - text: az codespace create -g my-rg --plan my-plan --name my-codespace --git-repo https://github.com/github/repo --git-user-name "User Name" --git-user-email user@example.com - - name: Create a Codespace with a dotfiles repo - text: az codespace create -g my-rg --plan my-plan --name my-codespace --dotfiles-repo https://github.com/github/dotfiles --dotfiles-path ~/dotfiles --dotfiles-command bootstrap.sh -""" - -helps['codespace list'] = """ - type: command - short-summary: List Codespaces. - examples: - - name: List Codespaces - text: az codespace list -g my-rg --plan my-plan - - name: List Codespaces given plan id - text: az codespace list --plan /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/my-rg/providers/Microsoft.Codespaces/plans/my-plan -""" - -helps['codespace delete'] = """ - type: command - short-summary: Delete a Codespace. - examples: - - name: Delete a Codespace given name - text: az codespace delete -g my-rg --plan my-plan --name my-codespace - - name: Delete a Codespace given id - text: az codespace delete -g my-rg --plan my-plan --id 00000000-0000-0000-0000-000000000000 - - name: Delete a Codespace given plan id and Codespace name - text: az codespace delete --plan /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/my-rg/providers/Microsoft.Codespaces/plans/my-plan --name my-codespace -""" - -helps['codespace update'] = """ - type: command - short-summary: Update a Codespace. - examples: - - name: Update a Codespace with a different instance type - text: az codespace update -g my-rg --plan my-plan --name my-codespace --instance-type premiumLinux - - name: Update a Codespace with a different suspend after - text: az codespace update -g my-rg --plan my-plan --name my-codespace --suspend-after 30 -""" - -helps['codespace show'] = """ - type: command - short-summary: Show details of a Codespace. - examples: - - name: Show details of a Codespace given name - text: az codespace show -g my-rg --plan my-plan --name my-codespace - - name: Show details of a Codespace given id - text: az codespace show -g my-rg --plan my-plan --id 00000000-0000-0000-0000-000000000000 - - name: Show details of a Codespace given plan id and Codespace name - text: az codespace show --plan /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/my-rg/providers/Microsoft.Codespaces/plans/my-plan --name my-codespace -""" - -helps['codespace resume'] = """ - type: command - short-summary: Resume a Codespace. - examples: - - name: Resume a Codespace given name - text: az codespace resume -g my-rg --plan my-plan --name my-codespace - - name: Resume a Codespace given id - text: az codespace resume -g my-rg --plan my-plan --id 00000000-0000-0000-0000-000000000000 - - name: Resume a Codespace given plan id and Codespace name - text: az codespace resume --plan /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/my-rg/providers/Microsoft.Codespaces/plans/my-plan --name my-codespace -""" - -helps['codespace suspend'] = """ - type: command - short-summary: Suspend a Codespace. - examples: - - name: Suspend a Codespace given name - text: az codespace suspend -g my-rg --plan my-plan --name my-codespace - - name: Suspend a Codespace given id - text: az codespace suspend -g my-rg --plan my-plan --id 00000000-0000-0000-0000-000000000000 - - name: Suspend a Codespace given plan id and Codespace name - text: az codespace suspend --plan /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/my-rg/providers/Microsoft.Codespaces/plans/my-plan --name my-codespace -""" - -helps['codespace open'] = """ - type: command - short-summary: Open a Codespace in the web browser. - long-summary: | - Confirmation is required if the Codespace is not in the 'Available' state as opening a Codespace will automatically resume it. - examples: - - name: Open a Codespace given name - text: az codespace open -g my-rg --plan my-plan --name my-codespace - - name: Open a Codespace given id - text: az codespace open -g my-rg --plan my-plan --id 00000000-0000-0000-0000-000000000000 - - name: Open a Codespace given plan id and Codespace name - text: az codespace open --plan /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/my-rg/providers/Microsoft.Codespaces/plans/my-plan --name my-codespace -""" - -helps['codespace secret create'] = """ - type: command - short-summary: Create a plan secret. - examples: - - name: Create a plan secret. - text: az codespace secret create -g my-rg --plan my-plan --name API_KEY --value "secretkey" --note "service api key" - - name: Create a plan secret with filters. - text: az codespace secret create -g my-rg --plan my-plan --name API_KEY --value "secretkey" --filters GitRepo=https://github.com/repo/name CodespaceName=mycodespace -""" - -helps['codespace secret update'] = """ - type: command - short-summary: Update a plan secret. - examples: - - name: Update a plan secret with new values. - text: az codespace secret update -g my-rg --plan my-plan --id 00000000-0000-0000-0000-000000000000 --name API_KEY --value "newsecretkey" --note "service api key" - - name: Update a plan secret with new filters. - text: az codespace secret update -g my-rg --plan my-plan --id 00000000-0000-0000-0000-000000000000 --filters GitRepo=https://github.com/repo/name CodespaceName=mycodespace - - name: Update a plan secret and clear existing filters. - text: az codespace secret update -g my-rg --plan my-plan --id 00000000-0000-0000-0000-000000000000 --filters '' -""" - -helps['codespace secret delete'] = """ - type: command - short-summary: Delete a plan secret. - examples: - - name: Delete a plan secret. - text: az codespace secret delete -g my-rg --plan my-plan --id 00000000-0000-0000-0000-000000000000 -""" - -helps['codespace secret list'] = """ - type: command - short-summary: List plan secrets. - examples: - - name: List plan secrets. - text: az codespace secret list -g my-rg --plan my-plan -""" - -helps['codespace set-config'] = """ - type: command - short-summary: Set configuration for codespace commands. -""" - -helps['codespace show-config'] = """ - type: command - short-summary: Show current configuration for codespace commands. -""" diff --git a/src/codespaces/azext_codespaces/_non_arm_apis.py b/src/codespaces/azext_codespaces/_non_arm_apis.py deleted file mode 100644 index c762492c0e5..00000000000 --- a/src/codespaces/azext_codespaces/_non_arm_apis.py +++ /dev/null @@ -1,218 +0,0 @@ -# -------------------------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license information. -# -------------------------------------------------------------------------------------------- - -""" - Helpers for requests to Codespaces non-ARM-based APIs -""" - -import platform -from enum import Enum - -import requests - -from knack.util import CLIError -from knack.log import get_logger -from azure.cli.core import __version__ as az_version -from .version import VERSION -from ._config import get_service_domain - -logger = get_logger(__name__) - -API_ROUTE = "/api/v1" - - -# The current secret scopes available on the service -class SecretScope(Enum): - PLAN = 1 - USER = 2 - - -# The current secret types available on the service -class SecretType(Enum): - ENVIRONMENT_VARIABLE = 1 - - -def _get_user_agent_string(): - pv = platform.python_version() - ps = platform.system() - pr = platform.release() - pp = platform.processor() - pm = platform.machine() - return f"python/{pv} ({ps}-{pr}-{pm}-{pp}) azure-cli/{az_version} codespaces-extension/{VERSION}" - - -def assert_status_hook(r, *_, **__): - r.raise_for_status() - - -def response_logging_hook(response, *_, **__): - for k in response.request.__dict__: - if k and not k.startswith('_'): - logger.debug('codespaces-api.request : %s : %s', k, response.request.__dict__[k]) - for k in response.__dict__: - if k and not k.startswith('_'): - logger.debug('codespaces-api.response : %s : %s', k, response.__dict__[k]) - if response.content: - logger.debug('codespaces-api.response : %s : %s', 'content', response.content) - - -class NoStripAuthSession(requests.Session): - # Override the default behavior of stripping the Authorization header on redirects - # see https://github.com/psf/requests/blob/9ed5db8ed28e816b597dafd328b342ec95466afa/requests/sessions.py#L119-L139 - def should_strip_auth(self, old_url, new_url): - return False - - -session = NoStripAuthSession() -session.hooks = { - 'response': [response_logging_hook, assert_status_hook], -} -session.headers.update({ - 'Content-Type': 'application/json', - 'Accept': 'application/json', - 'User-Agent': _get_user_agent_string() -}) - - -def api_response_decorator(func): - def wrapper(*args, **kwargs): - try: - response = func(*args, **kwargs) - if response: - return response.json() if response.content else response - return None - except requests.HTTPError as err: - raise CLIError(f"{err}. Use --debug for details.") - return wrapper - - -def custom_api_root_decorator(func): - def wrapper(*args, **kwargs): - cli_ctx = kwargs.pop('cli_ctx') - domain = get_service_domain(cli_ctx) - api_root = f"https://{domain}{API_ROUTE}" - kwargs['api_root'] = api_root - return func(*args, **kwargs) - return wrapper - - -@custom_api_root_decorator -@api_response_decorator -def list_locations(api_root=None, **_): - url = f'{api_root}/locations' - response = session.get(url) - return response - - -@custom_api_root_decorator -@api_response_decorator -def get_location_details(location, api_root=None, **_): - url = f'{api_root}/locations/{location}' - response = session.get(url) - return response - - -@custom_api_root_decorator -@api_response_decorator -def list_codespaces(access_token, plan_id, api_root=None, **_): - url = f'{api_root}/environments' - headers = {'Authorization': f'Bearer {access_token}'} - params = {'planId': plan_id} - response = session.get(url, headers=headers, params=params) - return response - - -@custom_api_root_decorator -@api_response_decorator -def get_codespace(access_token, codespace_id, api_root=None, **_): - url = f'{api_root}/environments/{codespace_id}' - headers = {'Authorization': f'Bearer {access_token}'} - response = session.get(url, headers=headers) - return response - - -@custom_api_root_decorator -@api_response_decorator -def start_codespace(access_token, codespace_id, api_root=None, **_): - url = f'{api_root}/environments/{codespace_id}/start' - headers = {'Authorization': f'Bearer {access_token}'} - response = session.post(url, headers=headers) - return response - - -@custom_api_root_decorator -@api_response_decorator -def shutdown_codespace(access_token, codespace_id, api_root=None, **_): - url = f'{api_root}/environments/{codespace_id}/shutdown' - headers = {'Authorization': f'Bearer {access_token}'} - response = session.post(url, headers=headers) - return response - - -@custom_api_root_decorator -@api_response_decorator -def delete_codespace(access_token, codespace_id, api_root=None, **_): - url = f'{api_root}/environments/{codespace_id}' - headers = {'Authorization': f'Bearer {access_token}'} - response = session.delete(url, headers=headers) - return response - - -@custom_api_root_decorator -@api_response_decorator -def create_codespace(access_token, data, api_root=None, **_): - url = f'{api_root}/environments' - headers = {'Authorization': f'Bearer {access_token}'} - response = session.post(url, headers=headers, json=data) - return response - - -@custom_api_root_decorator -@api_response_decorator -def update_codespace(access_token, codespace_id, data, api_root=None, **_): - url = f'{api_root}/environments/{codespace_id}' - headers = {'Authorization': f'Bearer {access_token}'} - response = session.patch(url, headers=headers, json=data) - return response - - -@custom_api_root_decorator -@api_response_decorator -def list_secrets(access_token, plan_id, api_root=None, **_): - url = f'{api_root}/secrets' - headers = {'Authorization': f'Bearer {access_token}'} - params = {'planId': plan_id} - response = session.get(url, headers=headers, params=params) - return response - - -@custom_api_root_decorator -@api_response_decorator -def create_secret(access_token, plan_id, data, api_root=None, **_): - url = f'{api_root}/secrets' - headers = {'Authorization': f'Bearer {access_token}'} - params = {'planId': plan_id} - response = session.post(url, headers=headers, json=data, params=params) - return response - - -@custom_api_root_decorator -@api_response_decorator -def update_secret(access_token, plan_id, secret_id, data, api_root=None, **_): - url = f'{api_root}/secrets/{secret_id}' - headers = {'Authorization': f'Bearer {access_token}'} - params = {'planId': plan_id} - response = session.put(url, headers=headers, json=data, params=params) - return response - - -@custom_api_root_decorator -@api_response_decorator -def delete_secret(access_token, plan_id, secret_id, scope, api_root=None, **_): - url = f'{api_root}/secrets/{secret_id}' - headers = {'Authorization': f'Bearer {access_token}'} - params = {'planId': plan_id, 'scope': scope} - response = session.delete(url, headers=headers, params=params) - return response diff --git a/src/codespaces/azext_codespaces/_params.py b/src/codespaces/azext_codespaces/_params.py deleted file mode 100644 index 9841d518ff1..00000000000 --- a/src/codespaces/azext_codespaces/_params.py +++ /dev/null @@ -1,74 +0,0 @@ -# -------------------------------------------------------------------------------------------- -# 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 - - -def load_arguments(self, _): - import platform - from azure.cli.core.commands.parameters import tags_type, get_enum_type, get_location_type - from azure.cli.core.commands.validators import get_default_location_from_resource_group - from ._validators import validate_codespace_name_or_id, validate_plan_name_or_id, validate_secret_filter_list - - with self.argument_context('codespace') as c: - c.argument('tags', tags_type) - c.argument('location', get_location_type(self.cli_ctx), validator=get_default_location_from_resource_group) - c.argument('plan_name', options_list=['--plan', '-p'], help="Name or ID of the Codespace plan", - validator=validate_plan_name_or_id) - c.argument('codespace_name', options_list=['--name', '-n'], help='Name of the Codespace.') - c.argument('codespace_id', options_list=['--id'], help='Id of the Codespace.', - validator=validate_codespace_name_or_id) - c.argument('sku_name', options_list=['--instance-type'], help='Instance Type') - c.argument('autoshutdown_delay', options_list=['--suspend-after'], - arg_type=get_enum_type(['5', '30', '60', '120']), - help="Automatically suspend the inactive Codespace after this many minutes.") - - with self.argument_context('codespace plan') as c: - c.argument('plan_name', options_list=['--name', '-n'], help="Name of the Codespace plan", id_part='name') - c.argument('subnet_id', arg_group="Network", options_list=['--subnet'], - help="Resource ID of an existing subnet. If specified, all Codespaces in this plan will be created in this subnet. The subnet must be in the same region as the plan.") - c.argument('default_autoshutdown_delay', arg_group="Plan Default", options_list=['--default-suspend-after'], - arg_type=get_enum_type(['5', '30', '60', '120']), - help="Default minutes Codespaces in this plan should suspend after.") - c.argument('default_sku_name', arg_group="Plan Default", options_list=['--default-instance-type'], help="Default Instance Type for Codespaces in this plan.") - - with self.argument_context('codespace create') as c: - c.argument('friendly_name', options_list=['--name', '-n'], help='Name of the Codespace.') - c.argument('git_repo', arg_group="Git", help="Url of the git repository we'll clone into the Codespace") - c.argument('git_user_name', arg_group="Git", help="Git username. For example, the output of `git config user.name`") - c.argument('git_user_email', arg_group="Git", help="Git user email. For example, the output of `git config user.email`") - c.argument('dotfiles_repo', arg_group="Dotfiles", help="Url of dotfiles git repository. More info: https://aka.ms/vso-docs/reference/personalizing") - c.argument('dotfiles_path', arg_group="Dotfiles", help="Path where you expect your dotfiles repository to be cloned into the Codespace.") - c.argument('dotfiles_command', arg_group="Dotfiles", help="The command we'll run after cloning your dotfiles repository.") - - with self.argument_context('codespace list') as c: - c.argument('list_all', options_list=['--all'], action='store_true', - help="Include the Codespaces of other users. You may not have access to connect or modify these other Codespaces.") - - with self.argument_context('codespace open') as c: - c.argument('do_not_prompt', options_list=['--yes', '-y'], action='store_true', - help='Do not prompt for confirmation.') - - with self.argument_context('codespace location show') as c: - c.argument('location_name', options_list=['--name', '-n'], help='Name of the region.') - - # Hidden arguments that should largely be used by the dev team - with self.argument_context('codespace') as c: - c.argument('config_rp_api_version', options_list=['--rp'], help="Resource Provider API version to use.") - c.argument('config_service_domain', options_list=['--domain'], help="Service domain to use.") - c.argument('config_clear', options_list=['--clear'], action='store_true', - help='Clear current configuration to return to defaults.') - - with self.argument_context('codespace secret') as c: - quotes = '""' if platform.system() == 'Windows' else "''" - quote_text = 'Use {} to clear existing filters.'.format(quotes) - c.argument('secret_filters', arg_group="Secret", options_list=['--filters'], - validator=validate_secret_filter_list, - help=f"space-separated filters: type=value [type=value ...]. {quote_text} Allowed types: GitRepo, CodespaceName.", - nargs='*') - c.argument('secret_name', arg_group="Secret", options_list=['--name', '-n'], help="Name of the secret.") - c.argument('secret_value', arg_group="Secret", options_list=['--value'], help="Value of the secret.") - c.argument('secret_note', arg_group="Secret", options_list=['--note'], help="Note for the secret.") - c.argument('secret_id', options_list=['--id'], help="Id of the secret.") diff --git a/src/codespaces/azext_codespaces/_transformers.py b/src/codespaces/azext_codespaces/_transformers.py deleted file mode 100644 index 3341850f831..00000000000 --- a/src/codespaces/azext_codespaces/_transformers.py +++ /dev/null @@ -1,62 +0,0 @@ -# -------------------------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license information. -# -------------------------------------------------------------------------------------------- - - -def transform_codespace_list_output(result): - new_result = [transform_codespace_item_output(item) for item in result] - return new_result - - -def transform_codespace_item_output(item): - from collections import OrderedDict - new_result = OrderedDict([('codespaceId', item['id']), - ('name', item['friendlyName']), - ('location', item['location']), - ('skuName', item['skuName']), - ('state', item['state']), - ('created', item['created']), - ('updated', item['updated']), - ('lastUsed', item['lastUsed']), - ('autoShutdownDelayMinutes', item.get('autoShutdownDelayMinutes', None))]) - return new_result - - -def transform_location_list_output(result): - from collections import OrderedDict - new_result = [] - for item in result["available"]: - new_entry = OrderedDict([('name', item)]) - new_result.append(new_entry) - return new_result - - -def transform_location_detail_output(result): - from collections import OrderedDict - new_result = [] - defaultAutoSuspendDelayMinutes = ", ".join(str(n) for n in result["defaultAutoSuspendDelayMinutes"]) - for item in result["skus"]: - new_entry = OrderedDict([('name', item['name']), - ('displayName', item['displayName']), - ('os', item['os']), - ('defaultAutoSuspendDelayMinutes', defaultAutoSuspendDelayMinutes)]) - new_result.append(new_entry) - return new_result - - -def transform_plan_secret_list_output(result): - new_result = [transform_plan_secret_item_output(item) for item in result] - return new_result - - -def transform_plan_secret_item_output(item): - from collections import OrderedDict - new_result = OrderedDict([('secretId', item['id']), - ('secretName', item['secretName']), - ('secretType', item['type']), - ('scope', item['scope']), - ('lastModified', item['lastModified']), - ('filters', ' '.join(f"{v['type']}={v['value']}" for v in item.get('filters', []))), - ('notes', item.get('notes', None))]) - return new_result diff --git a/src/codespaces/azext_codespaces/_validators.py b/src/codespaces/azext_codespaces/_validators.py deleted file mode 100644 index 0b3ad56dad3..00000000000 --- a/src/codespaces/azext_codespaces/_validators.py +++ /dev/null @@ -1,44 +0,0 @@ -# -------------------------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license information. -# -------------------------------------------------------------------------------------------- -from knack.util import CLIError - - -def validate_codespace_name_or_id(namespace): - if bool(namespace.codespace_name) == bool(namespace.codespace_id): - raise CLIError("usage error: --name | --id") - return False - - -def validate_plan_name_or_id(cmd, namespace): - from msrestazure.tools import is_valid_resource_id, parse_resource_id - if namespace.plan_name and is_valid_resource_id(namespace.plan_name): - if bool(namespace.resource_group_name): - raise CLIError("usage error: --plan NAME --resource-group NAME | --plan ID") - resource_id_parts = parse_resource_id(namespace.plan_name) - namespace.resource_group_name = resource_id_parts['resource_group'] - namespace.plan_name = resource_id_parts['resource_name'] - cmd.cli_ctx.data['subscription_id'] = resource_id_parts['subscription'] - - -def validate_secret_filter_list(namespace): - """ Extracts multiple space-separated filters in type=value format """ - if isinstance(namespace.secret_filters, list): - filters_list = [] - for item in namespace.secret_filters: - filter_item = validate_secret_filter_item(item) - if filter_item: - filters_list.append(filter_item) - namespace.secret_filters = filters_list - - -def validate_secret_filter_item(item): - """ Extracts a single filter in type=value format """ - result = {} - if item: - comps = item.split('=', 1) - if len(comps) != 2 or not comps[1]: - raise CLIError("usage error: --filters type=value [type=value ...]") - result = {'type': comps[0], 'value': comps[1]} - return result diff --git a/src/codespaces/azext_codespaces/azext_metadata.json b/src/codespaces/azext_codespaces/azext_metadata.json deleted file mode 100644 index 8cfc6da9485..00000000000 --- a/src/codespaces/azext_codespaces/azext_metadata.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "azext.isPreview": true, - "azext.minCliCoreVersion": "2.3.1" -} \ No newline at end of file diff --git a/src/codespaces/azext_codespaces/commands.py b/src/codespaces/azext_codespaces/commands.py deleted file mode 100644 index daaa55dd558..00000000000 --- a/src/codespaces/azext_codespaces/commands.py +++ /dev/null @@ -1,64 +0,0 @@ -# -------------------------------------------------------------------------------------------- -# 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 azure.cli.core.commands import CliCommandType -from ._client_factory import cf_codespaces, cf_codespaces_plan -from ._transformers import ( - transform_codespace_list_output, - transform_codespace_item_output, - transform_location_list_output, - transform_location_detail_output, - transform_plan_secret_list_output) - - -def advanced_usage_message(_): - return 'This command is for advanced usage only.' - - -def load_command_table(self, _): - - plan_operations = CliCommandType( - operations_tmpl='azext_codespaces.vendored_sdks.codespaces.operations.plan_operations#PlanOperations.{}', - client_factory=cf_codespaces) - - with self.command_group('codespace plan', plan_operations, client_factory=cf_codespaces_plan) as g: - g.custom_command('list', 'list_plans') - g.custom_command('create', 'create_plan') - # TODO Re-enable plan update when service-side implemented - # g.custom_command('update', 'update_plan') - g.show_command('show', 'get') - g.command('delete', 'delete', confirmation="Are you sure you want to delete this Codespace plan?") - - with self.command_group('codespace secret', plan_operations, client_factory=cf_codespaces_plan) as g: - g.custom_command('list', 'list_plan_secrets', table_transformer=transform_plan_secret_list_output) - g.custom_command('update', 'update_plan_secrets') - g.custom_command('create', 'create_plan_secret') - g.custom_command('delete', 'delete_plan_secret') - - with self.command_group('codespace', plan_operations, client_factory=cf_codespaces_plan) as g: - g.custom_command('list', 'list_codespaces', table_transformer=transform_codespace_list_output) - g.custom_show_command('show', 'get_codespace', table_transformer=transform_codespace_item_output) - g.custom_command('create', 'create_codespace', table_transformer=transform_codespace_item_output) - g.custom_command('open', 'open_codespace') - g.custom_command('delete', 'delete_codespace', confirmation="Are you sure you want to delete this Codespace?") - g.custom_command('resume', 'resume_codespace', table_transformer=transform_codespace_item_output) - g.custom_command('suspend', 'suspend_codespace', table_transformer=transform_codespace_item_output) - g.custom_command('update', 'update_codespace', table_transformer=transform_codespace_item_output) - - # Hidden commands that should largely be used by the dev team - with self.command_group('codespace') as g: - g.custom_command('set-config', 'set_config', - deprecate_info=self.deprecate(hide=True, message_func=advanced_usage_message)) - g.custom_command('show-config', 'show_config', - deprecate_info=self.deprecate(hide=True, message_func=advanced_usage_message)) - - with self.command_group('codespace location') as g: - g.custom_command('list', 'list_available_locations', table_transformer=transform_location_list_output) - g.custom_show_command('show', 'get_location_details', table_transformer=transform_location_detail_output) - - # Mark all commands as in preview - with self.command_group('codespace', is_preview=True): - pass diff --git a/src/codespaces/azext_codespaces/custom.py b/src/codespaces/azext_codespaces/custom.py deleted file mode 100644 index e385d486b85..00000000000 --- a/src/codespaces/azext_codespaces/custom.py +++ /dev/null @@ -1,266 +0,0 @@ -# -------------------------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license information. -# -------------------------------------------------------------------------------------------- -import webbrowser -from knack.util import CLIError -from knack.log import get_logger -from knack.prompting import prompt_y_n -from . import _non_arm_apis as cs_api -from . import _config as cs_config -from .vendored_sdks.codespaces.models import ( - CodespacesPlan, - CodespacesPlanProperties, - VnetProperties, - CodespacesPlanUpdateParametersProperties) - -logger = get_logger(__name__) - - -def _determine_codespace_id(client, resource_group_name, plan_name, token, codespace_name, cli_ctx=None): - if not cli_ctx: - raise ValueError("cli_ctx kwarg must be set.") - plan = client.get(resource_group_name=resource_group_name, plan_name=plan_name) - codespaces = cs_api.list_codespaces(token.access_token, plan.id, cli_ctx=cli_ctx) - codespace_id = next((c['id'] for c in codespaces if c['friendlyName'] == codespace_name), None) - if codespace_id: - return codespace_id - raise CLIError(f"Unable to find codespace '{codespace_name}' in plan {plan.id}") - - -# pylint: disable=unused-argument -def list_plans(cmd, client, resource_group_name=None): - if resource_group_name is not None: - return client.list_by_resource_group(resource_group_name=resource_group_name) - return client.list_by_subscription() - - -def create_plan(cmd, - client, - resource_group_name, - plan_name, - location=None, - tags=None, - subnet_id=None, - default_sku_name=None, - default_autoshutdown_delay=None): - vnet_props = VnetProperties(subnet_id=subnet_id) if subnet_id else None - plan_props = CodespacesPlanProperties( - default_auto_suspend_delay_minutes=default_autoshutdown_delay, - default_codespace_sku=default_sku_name, - vnet_properties=vnet_props) - codespaces_plan = CodespacesPlan(location=location, properties=plan_props, tags=tags) - return client.create(resource_group_name, plan_name, codespaces_plan) - - -def update_plan(cmd, - client, - plan_name, - resource_group_name=None, - default_sku_name=None, - default_autoshutdown_delay=None): - codespaces_plan_update_parameters = CodespacesPlanUpdateParametersProperties( - default_auto_suspend_delay_minutes=default_autoshutdown_delay, - default_codespace_sku=default_sku_name) - return client.update(resource_group_name, - plan_name, - codespaces_plan_update_parameters) - - -def list_available_locations(cmd): - return cs_api.list_locations(cli_ctx=cmd.cli_ctx) - - -def get_location_details(cmd, location_name): - return cs_api.get_location_details(location_name, cli_ctx=cmd.cli_ctx) - - -def list_codespaces(cmd, client, plan_name, resource_group_name=None, list_all=None): - plan = client.get(resource_group_name=resource_group_name, plan_name=plan_name) - if list_all: - token = client.read_all_codespaces_action(resource_group_name=resource_group_name, plan_name=plan_name) - else: - token = client.write_codespaces_action(resource_group_name=resource_group_name, plan_name=plan_name) - return cs_api.list_codespaces(token.access_token, plan.id, cli_ctx=cmd.cli_ctx) - - -def create_codespace(cmd, - client, - plan_name, - friendly_name, - resource_group_name=None, - sku_name=None, - autoshutdown_delay=None, - git_repo=None, - git_user_name=None, - git_user_email=None, - dotfiles_repo=None, - dotfiles_path=None, - dotfiles_command=None): - plan = client.get(resource_group_name=resource_group_name, plan_name=plan_name) - token = client.write_codespaces_action(resource_group_name=resource_group_name, plan_name=plan_name) - # Use plan defaults if needed and available - missing_args = [] - sku_name = sku_name or plan.properties.default_codespace_sku - if not sku_name: - logger.warning("No default instance type specified for plan and no instance type specified in command.") - missing_args.append("--instance-type") - autoshutdown_delay = autoshutdown_delay or plan.properties.default_auto_suspend_delay_minutes - if not autoshutdown_delay: - logger.warning("No default shutdown delay specified for plan and no shutdown delay specified in command.") - missing_args.append("--suspend-after") - if missing_args: - raise CLIError(f"usage error: please specify {' '.join(missing_args)}") - # Construct create parameters - create_data = {} - create_data['planId'] = plan.id - create_data['friendlyName'] = friendly_name - create_data['autoShutdownDelayMinutes'] = autoshutdown_delay - create_data['type'] = "cloudEnvironment" - create_data['experimentalFeatures'] = {'customContainers': True} - create_data["skuName"] = sku_name - if git_repo: - if not git_user_name or not git_user_email: - raise CLIError("usage error: must specify --git-user-name --git-user-email") - create_data["seed"] = { - "type": "git", - "moniker": git_repo, - "gitConfig": {"userName": git_user_name, "userEmail": git_user_email} - } - if dotfiles_repo: - create_data["personalization"] = {"dotfilesRepository": dotfiles_repo} - if dotfiles_path: - create_data["personalization"]["dotfilesTargetPath"] = dotfiles_path - if dotfiles_command: - create_data["personalization"]["dotfilesInstallCommand"] = dotfiles_command - # Create codespace - return cs_api.create_codespace(token.access_token, create_data, cli_ctx=cmd.cli_ctx) - - -def get_codespace(cmd, client, plan_name, resource_group_name=None, codespace_id=None, codespace_name=None): - token = client.write_codespaces_action(resource_group_name=resource_group_name, plan_name=plan_name) - if codespace_name: - codespace_id = _determine_codespace_id( - client, resource_group_name, plan_name, token, codespace_name, cli_ctx=cmd.cli_ctx) - return cs_api.get_codespace(token.access_token, codespace_id, cli_ctx=cmd.cli_ctx) - - -def delete_codespace(cmd, client, plan_name, resource_group_name=None, codespace_id=None, codespace_name=None): - token = client.write_codespaces_action(resource_group_name=resource_group_name, plan_name=plan_name) - if codespace_name: - codespace_id = _determine_codespace_id( - client, resource_group_name, plan_name, token, codespace_name, cli_ctx=cmd.cli_ctx) - cs_api.delete_codespace(token.access_token, codespace_id, cli_ctx=cmd.cli_ctx) - - -def resume_codespace(cmd, client, plan_name, resource_group_name=None, codespace_id=None, codespace_name=None): - token = client.write_codespaces_action(resource_group_name=resource_group_name, plan_name=plan_name) - if codespace_name: - codespace_id = _determine_codespace_id( - client, resource_group_name, plan_name, token, codespace_name, cli_ctx=cmd.cli_ctx) - return cs_api.start_codespace(token.access_token, codespace_id, cli_ctx=cmd.cli_ctx) - - -def suspend_codespace(cmd, client, plan_name, resource_group_name=None, codespace_id=None, codespace_name=None): - token = client.write_codespaces_action(resource_group_name=resource_group_name, plan_name=plan_name) - if codespace_name: - codespace_id = _determine_codespace_id( - client, resource_group_name, plan_name, token, codespace_name, cli_ctx=cmd.cli_ctx) - return cs_api.shutdown_codespace(token.access_token, codespace_id, cli_ctx=cmd.cli_ctx) - - -def update_codespace(cmd, - client, - plan_name, - resource_group_name=None, - codespace_id=None, - codespace_name=None, - sku_name=None, - autoshutdown_delay=None): - token = client.write_codespaces_action(resource_group_name=resource_group_name, plan_name=plan_name) - if codespace_name: - codespace_id = _determine_codespace_id( - client, resource_group_name, plan_name, token, codespace_name, cli_ctx=cmd.cli_ctx) - data = {} - codespace = cs_api.get_codespace(token.access_token, codespace_id, cli_ctx=cmd.cli_ctx) - if codespace['state'] != 'Shutdown': - raise CLIError("Codespace must be in state 'Shutdown'. " - f"Cannot update a Codespace in state '{codespace['state']}'.") - if sku_name: - data['skuName'] = sku_name - if autoshutdown_delay: - data['autoShutdownDelayMinutes'] = autoshutdown_delay - return cs_api.update_codespace(token.access_token, codespace_id, data, cli_ctx=cmd.cli_ctx) - - -def open_codespace(cmd, client, plan_name, resource_group_name=None, codespace_id=None, - codespace_name=None, do_not_prompt=None): - token = client.write_codespaces_action(resource_group_name=resource_group_name, plan_name=plan_name) - if codespace_name: - codespace_id = _determine_codespace_id( - client, resource_group_name, plan_name, token, codespace_name, cli_ctx=cmd.cli_ctx) - codespace = cs_api.get_codespace(token.access_token, codespace_id, cli_ctx=cmd.cli_ctx) - if not do_not_prompt and codespace['state'] != 'Available': - msg = f"Current state of the codespace is '{codespace['state']}'." \ - " Continuing will cause the environment to be resumed.\nDo you want to continue?" - user_confirmed = prompt_y_n(msg) - if not user_confirmed: - raise CLIError("Operation cancelled.") - domain = cs_config.get_service_domain(cmd.cli_ctx) - url = f"https://{domain}/environment/{codespace['id']}" - logger.warning("Opening: %s", url) - success = webbrowser.open_new_tab(url) - if not success: - raise CLIError("Unable to open browser") - - -def set_config(cmd, config_rp_api_version='', config_service_domain='', config_clear=False): - if config_clear and any([config_rp_api_version, config_service_domain]): - raise CLIError("If you wish to clear config, do not specify other values.") - cs_config.set_rp_api_version(cmd.cli_ctx, config_rp_api_version) - cs_config.set_service_domain(cmd.cli_ctx, config_service_domain) - - -def show_config(cmd): - return cs_config.get_current_config(cmd.cli_ctx) - - -def list_plan_secrets(cmd, client, plan_name, resource_group_name=None): - plan = client.get(resource_group_name=resource_group_name, plan_name=plan_name) - token = client.write_codespaces_action(resource_group_name=resource_group_name, plan_name=plan_name) - return cs_api.list_secrets(token.access_token, plan.id, cli_ctx=cmd.cli_ctx) - - -def update_plan_secrets(cmd, client, plan_name, secret_id, - secret_name=None, secret_value=None, secret_note=None, - secret_filters=None, resource_group_name=None): - plan = client.get(resource_group_name=resource_group_name, plan_name=plan_name) - token = client.write_codespaces_action(resource_group_name=resource_group_name, plan_name=plan_name) - data = {} - data['secretName'] = secret_name - data['value'] = secret_value - data['notes'] = secret_note - data['scope'] = cs_api.SecretScope.USER.value - data['filters'] = secret_filters - return cs_api.update_secret(token.access_token, plan.id, secret_id, data, cli_ctx=cmd.cli_ctx) - - -def create_plan_secret(cmd, client, plan_name, - secret_name, secret_value, secret_note=None, - secret_filters=None, resource_group_name=None): - plan = client.get(resource_group_name=resource_group_name, plan_name=plan_name) - token = client.write_codespaces_action(resource_group_name=resource_group_name, plan_name=plan_name) - data = {} - data['secretName'] = secret_name - data['value'] = secret_value - data['notes'] = secret_note - data['type'] = cs_api.SecretType.ENVIRONMENT_VARIABLE.value - data['scope'] = cs_api.SecretScope.USER.value - data['filters'] = secret_filters - return cs_api.create_secret(token.access_token, plan.id, data, cli_ctx=cmd.cli_ctx) - - -def delete_plan_secret(cmd, client, plan_name, secret_id, resource_group_name=None): - plan = client.get(resource_group_name=resource_group_name, plan_name=plan_name) - token = client.write_codespaces_action(resource_group_name=resource_group_name, plan_name=plan_name) - cs_api.delete_secret(token.access_token, plan.id, secret_id, cs_api.SecretScope.USER.value, cli_ctx=cmd.cli_ctx) diff --git a/src/codespaces/azext_codespaces/tests/__init__.py b/src/codespaces/azext_codespaces/tests/__init__.py deleted file mode 100644 index 99c0f28cd71..00000000000 --- a/src/codespaces/azext_codespaces/tests/__init__.py +++ /dev/null @@ -1,5 +0,0 @@ -# ----------------------------------------------------------------------------- -# 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/codespaces/azext_codespaces/tests/latest/__init__.py b/src/codespaces/azext_codespaces/tests/latest/__init__.py deleted file mode 100644 index 99c0f28cd71..00000000000 --- a/src/codespaces/azext_codespaces/tests/latest/__init__.py +++ /dev/null @@ -1,5 +0,0 @@ -# ----------------------------------------------------------------------------- -# 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/codespaces/azext_codespaces/tests/latest/recordings/test_codespaces_location.yaml b/src/codespaces/azext_codespaces/tests/latest/recordings/test_codespaces_location.yaml deleted file mode 100644 index 40059cb1e48..00000000000 --- a/src/codespaces/azext_codespaces/tests/latest/recordings/test_codespaces_location.yaml +++ /dev/null @@ -1,93 +0,0 @@ -interactions: -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Type: - - application/json - User-Agent: - - python/3.7.4 (Darwin-19.5.0-x86_64-i386) azure-cli/2.5.1 codespaces-extension/0.3.0 - method: GET - uri: https://online.visualstudio.com/api/v1/locations - response: - body: - string: '{"current":"WestUs2","available":["EastUs","SouthEastAsia","WestEurope","WestUs2"],"hostnames":{"EastUs":"eastus.online.visualstudio.com","SouthEastAsia":"southeastasia.online.visualstudio.com","WestEurope":"westeurope.online.visualstudio.com","WestUs2":"westus2.online.visualstudio.com"}}' - headers: - connection: - - keep-alive - content-length: - - '289' - content-type: - - application/json; charset=utf-8 - date: - - Mon, 13 Jul 2020 23:12:20 GMT - server: - - nginx/1.17.7 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - vssaas-request-id: - - 5548602b-8c38-4e9a-8f01-d51b733443d4 - x-content-type-options: - - nosniff - x-served-by: - - vsclk-online-prod-rel-usw2-cluster - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Type: - - application/json - User-Agent: - - python/3.7.4 (Darwin-19.5.0-x86_64-i386) azure-cli/2.5.1 codespaces-extension/0.3.0 - method: GET - uri: https://online.visualstudio.com/api/v1/locations/westus2 - response: - body: - string: '{"skus":[{"name":"standardLinux","displayName":"Standard (Linux): 4 - cores, 8 GB RAM","os":"Linux"},{"name":"basicLinux","displayName":"Basic (Linux): - 2 cores, 4 GB RAM","os":"Linux"},{"name":"premiumLinux","displayName":"Premium - (Linux): 8 cores, 16 GB RAM","os":"Linux"}],"defaultAutoSuspendDelayMinutes":[5,30,60,120]}' - headers: - connection: - - keep-alive - content-length: - - '320' - content-type: - - application/json; charset=utf-8 - date: - - Mon, 13 Jul 2020 23:12:20 GMT - server: - - nginx/1.17.7 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - vssaas-request-id: - - 34df3d06-4b69-4899-a59b-f62b7cb4b50c - x-content-type-options: - - nosniff - x-served-by: - - vsclk-online-prod-rel-usw2-cluster - status: - code: 200 - message: OK -version: 1 diff --git a/src/codespaces/azext_codespaces/tests/latest/recordings/test_codespaces_plan.yaml b/src/codespaces/azext_codespaces/tests/latest/recordings/test_codespaces_plan.yaml deleted file mode 100644 index 9b7cff57933..00000000000 --- a/src/codespaces/azext_codespaces/tests/latest/recordings/test_codespaces_plan.yaml +++ /dev/null @@ -1,292 +0,0 @@ -interactions: -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - codespace plan create - Connection: - - keep-alive - ParameterSetName: - - -g -n - User-Agent: - - python/3.7.4 (Darwin-19.5.0-x86_64-i386-64bit) msrest/0.6.13 msrest_azure/0.6.3 - azure-mgmt-resource/9.0.0 Azure-SDK-For-Python AZURECLI/2.5.1 - accept-language: - - en-US - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/azclitest_000001?api-version=2020-06-01 - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azclitest_000001","name":"azclitest_000001","type":"Microsoft.Resources/resourceGroups","location":"westus2","tags":{"product":"azurecli","cause":"automation","date":"2020-07-13T23:12:19Z"},"properties":{"provisioningState":"Succeeded"}}' - headers: - cache-control: - - no-cache - content-length: - - '429' - content-type: - - application/json; charset=utf-8 - date: - - Mon, 13 Jul 2020 23:12:21 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: '{"location": "westus2", "properties": {}}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - codespace plan create - Connection: - - keep-alive - Content-Length: - - '41' - Content-Type: - - application/json; charset=utf-8 - ParameterSetName: - - -g -n - User-Agent: - - python/3.7.4 (Darwin-19.5.0-x86_64-i386-64bit) msrest/0.6.13 msrest_azure/0.6.3 - codespaces/06/16/2020 00:00:00 Azure-SDK-For-Python AZURECLI/2.5.1 - accept-language: - - en-US - method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azclitest_000001/providers/Microsoft.Codespaces/plans/azclitest-codespace-plan?api-version=2020-06-16 - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azclitest_000001/providers/Microsoft.Codespaces/plans/azclitest-codespace-plan","name":"azclitest-codespace-plan","type":"Microsoft.Codespaces/plans","location":"westus2","properties":{}}' - headers: - cache-control: - - no-cache - content-length: - - '320' - content-type: - - application/json; charset=utf-8 - date: - - Mon, 13 Jul 2020 23:12:23 GMT - 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 - x-ms-ratelimit-remaining-subscription-writes: - - '1199' - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - codespace plan list - Connection: - - keep-alive - ParameterSetName: - - -g - User-Agent: - - python/3.7.4 (Darwin-19.5.0-x86_64-i386-64bit) msrest/0.6.13 msrest_azure/0.6.3 - codespaces/06/16/2020 00:00:00 Azure-SDK-For-Python AZURECLI/2.5.1 - accept-language: - - en-US - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azclitest_000001/providers/Microsoft.Codespaces/plans?api-version=2020-06-16 - response: - body: - string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azclitest_000001/providers/Microsoft.Codespaces/plans/azclitest-codespace-plan","name":"azclitest-codespace-plan","type":"Microsoft.Codespaces/plans","location":"westus2","properties":{}}]}' - headers: - cache-control: - - no-cache - content-length: - - '332' - content-type: - - application/json; charset=utf-8 - date: - - Mon, 13 Jul 2020 23:12:24 GMT - 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: - - codespace plan show - Connection: - - keep-alive - ParameterSetName: - - -g -n - User-Agent: - - python/3.7.4 (Darwin-19.5.0-x86_64-i386-64bit) msrest/0.6.13 msrest_azure/0.6.3 - codespaces/06/16/2020 00:00:00 Azure-SDK-For-Python AZURECLI/2.5.1 - accept-language: - - en-US - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azclitest_000001/providers/Microsoft.Codespaces/plans/azclitest-codespace-plan?api-version=2020-06-16 - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azclitest_000001/providers/Microsoft.Codespaces/plans/azclitest-codespace-plan","name":"azclitest-codespace-plan","type":"Microsoft.Codespaces/plans","location":"westus2","properties":{}}' - headers: - cache-control: - - no-cache - content-length: - - '320' - content-type: - - application/json; charset=utf-8 - date: - - Mon, 13 Jul 2020 23:12:24 GMT - 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: - - codespace plan delete - Connection: - - keep-alive - Content-Length: - - '0' - ParameterSetName: - - -g -n --yes - User-Agent: - - python/3.7.4 (Darwin-19.5.0-x86_64-i386-64bit) msrest/0.6.13 msrest_azure/0.6.3 - codespaces/06/16/2020 00:00:00 Azure-SDK-For-Python AZURECLI/2.5.1 - accept-language: - - en-US - method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azclitest_000001/providers/Microsoft.Codespaces/plans/azclitest-codespace-plan?api-version=2020-06-16 - response: - body: - string: '' - headers: - cache-control: - - no-cache - content-length: - - '0' - date: - - Mon, 13 Jul 2020 23:12:26 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Kestrel - strict-transport-security: - - max-age=31536000; includeSubDomains - x-content-type-options: - - nosniff - x-ms-ratelimit-remaining-subscription-deletes: - - '14999' - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - codespace plan list - Connection: - - keep-alive - ParameterSetName: - - -g - User-Agent: - - python/3.7.4 (Darwin-19.5.0-x86_64-i386-64bit) msrest/0.6.13 msrest_azure/0.6.3 - codespaces/06/16/2020 00:00:00 Azure-SDK-For-Python AZURECLI/2.5.1 - accept-language: - - en-US - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azclitest_000001/providers/Microsoft.Codespaces/plans?api-version=2020-06-16 - response: - body: - string: '{"value":[]}' - headers: - cache-control: - - no-cache - content-length: - - '12' - content-type: - - application/json; charset=utf-8 - date: - - Mon, 13 Jul 2020 23:12:27 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 -version: 1 diff --git a/src/codespaces/azext_codespaces/tests/latest/test_codespaces_scenario.py b/src/codespaces/azext_codespaces/tests/latest/test_codespaces_scenario.py deleted file mode 100644 index 440ab4e0dd6..00000000000 --- a/src/codespaces/azext_codespaces/tests/latest/test_codespaces_scenario.py +++ /dev/null @@ -1,67 +0,0 @@ -# -------------------------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license information. -# -------------------------------------------------------------------------------------------- - -import os -import unittest - -from azure.cli.testsdk.scenario_tests import AllowLargeResponse -from azure.cli.testsdk import (ScenarioTest, ResourceGroupPreparer, live_only) - - -TEST_DIR = os.path.abspath(os.path.join(os.path.abspath(__file__), '..')) - - -class CodespacesScenarioTest(ScenarioTest): - plan_resource_type = 'Microsoft.Codespaces/plans' - default_location = 'westus2' - rg_name_prefix = 'azclitest_' - - @ResourceGroupPreparer(name_prefix=rg_name_prefix, location=default_location) - def test_codespaces_plan(self, resource_group): - self.kwargs.update({ - 'resource_group': resource_group, - 'name': 'azclitest-codespace-plan' - }) - self.cmd('codespace plan create -g {rg} -n {name}') - count = len(self.cmd('codespace plan list -g {rg}').get_output_in_json()) - self.assertEqual(count, 1) - self.cmd('codespace plan show -g {rg} -n {name}', checks=[ - self.check('type', self.plan_resource_type), - self.check('name', '{name}'), - self.check('location', self.default_location) - ]) - self.cmd('codespace plan delete -g {rg} -n {name} --yes') - count = len(self.cmd('codespace plan list -g {rg}').get_output_in_json()) - self.assertEqual(count, 0) - - def test_codespaces_location(self): - self.cmd('codespace location list').get_output_in_json() - self.cmd('codespace location show -n westus2') - - @live_only() # do not save recordings for this test. - @ResourceGroupPreparer(name_prefix=rg_name_prefix, location=default_location) - def test_codespaces_codespace(self, resource_group): - self.kwargs.update({ - 'resource_group': resource_group, - 'name': 'azclitest-codespace-plan', - 'codespace_name': 'codespace1', - 'instance_type': 'standardLinux', - 'suspend_after': '120' - }) - plan_info = self.cmd('codespace plan create -g {rg} -n {name}').get_output_in_json() - self.kwargs.update({ - 'plan_id': plan_info['id'] - }) - self.cmd('codespace create --plan {plan_id} --name {name} --instance-type {instance_type} --suspend-after {suspend_after}') - count = len(self.cmd('codespace list --plan {plan_id}').get_output_in_json()) - self.assertEqual(count, 1) - self.cmd('codespace show --plan {plan_id} --name {name}', checks=[ - self.check('friendlyName', '{name}'), - self.check('skuName', '{instance_type}'), - self.check('autoShutdownDelayMinutes', '{suspend_after}') - ]) - self.cmd('codespace delete --plan {plan_id} -n {name} --yes') - count = len(self.cmd('codespace list --plan {plan_id}').get_output_in_json()) - self.assertEqual(count, 0) diff --git a/src/codespaces/azext_codespaces/vendored_sdks/__init__.py b/src/codespaces/azext_codespaces/vendored_sdks/__init__.py deleted file mode 100644 index 7183870ee56..00000000000 --- a/src/codespaces/azext_codespaces/vendored_sdks/__init__.py +++ /dev/null @@ -1,6 +0,0 @@ -# -------------------------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license information. -# -------------------------------------------------------------------------------------------- - -__path__ = __import__('pkgutil').extend_path(__path__, __name__) \ No newline at end of file diff --git a/src/codespaces/azext_codespaces/vendored_sdks/codespaces/__init__.py b/src/codespaces/azext_codespaces/vendored_sdks/codespaces/__init__.py deleted file mode 100644 index 83d4e89b5be..00000000000 --- a/src/codespaces/azext_codespaces/vendored_sdks/codespaces/__init__.py +++ /dev/null @@ -1,18 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .codespaces_client import CodespacesClient -from .version import VERSION - -__all__ = ['CodespacesClient'] - -__version__ = VERSION - diff --git a/src/codespaces/azext_codespaces/vendored_sdks/codespaces/codespaces_client.py b/src/codespaces/azext_codespaces/vendored_sdks/codespaces/codespaces_client.py deleted file mode 100644 index 7c25367b6ee..00000000000 --- a/src/codespaces/azext_codespaces/vendored_sdks/codespaces/codespaces_client.py +++ /dev/null @@ -1,89 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.service_client import SDKClient -from msrest import Serializer, Deserializer -from msrestazure import AzureConfiguration -from .version import VERSION -from .operations.operations import Operations -from .operations.plan_operations import PlanOperations -from . import models - - -class CodespacesClientConfiguration(AzureConfiguration): - """Configuration for CodespacesClient - 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 str base_url: Service URL - """ - - def __init__( - self, credentials, subscription_id, base_url=None, api_version=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(CodespacesClientConfiguration, self).__init__(base_url) - - self.add_user_agent('codespaces/{}'.format(VERSION)) - self.add_user_agent('Azure-SDK-For-Python') - - self.credentials = credentials - self.subscription_id = subscription_id - self.api_version = api_version - - -class CodespacesClient(SDKClient): - """Microsoft Codespaces REST API version 2020-06-16 - - :ivar config: Configuration for client. - :vartype config: CodespacesClientConfiguration - - :ivar operations: Operations operations - :vartype operations: microsoft.codespaces.operations.Operations - :ivar plan: Plan operations - :vartype plan: microsoft.codespaces.operations.PlanOperations - - :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 str base_url: Service URL - """ - - def __init__( - self, credentials, subscription_id, base_url=None, api_version=None): - - self.config = CodespacesClientConfiguration(credentials, subscription_id, base_url, api_version) - super(CodespacesClient, 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 = '2020-06-16' - self._serialize = Serializer(client_models) - self._deserialize = Deserializer(client_models) - - self.operations = Operations( - self._client, self.config, self._serialize, self._deserialize) - self.plan = PlanOperations( - self._client, self.config, self._serialize, self._deserialize) diff --git a/src/codespaces/azext_codespaces/vendored_sdks/codespaces/models/__init__.py b/src/codespaces/azext_codespaces/vendored_sdks/codespaces/models/__init__.py deleted file mode 100644 index 14836da424f..00000000000 --- a/src/codespaces/azext_codespaces/vendored_sdks/codespaces/models/__init__.py +++ /dev/null @@ -1,72 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -try: - from .error_definition_py3 import ErrorDefinition - from .codespaces_operations_error_response_py3 import CodespacesOperationsErrorResponse, CodespacesOperationsErrorResponseException - from .codespaces_plan_error_response_py3 import CodespacesPlanErrorResponse, CodespacesPlanErrorResponseException - from .resource_py3 import Resource - from .sku_py3 import Sku - from .identity_py3 import Identity - from .vnet_properties_py3 import VnetProperties - from .resource_provider_operation_display_py3 import ResourceProviderOperationDisplay - from .resource_provider_operation_definition_py3 import ResourceProviderOperationDefinition - from .codespaces_plan_update_parameters_properties_py3 import CodespacesPlanUpdateParametersProperties - from .codespaces_plan_update_parameters_py3 import CodespacesPlanUpdateParameters - from .codespaces_plan_properties_py3 import CodespacesPlanProperties - from .codespaces_plan_py3 import CodespacesPlan - from .codespaces_plan_access_token_py3 import CodespacesPlanAccessToken - from .codespaces_delegate_identity_py3 import CodespacesDelegateIdentity - from .codespaces_delegate_access_token_request_body_py3 import CodespacesDelegateAccessTokenRequestBody -except (SyntaxError, ImportError): - from .error_definition import ErrorDefinition - from .codespaces_operations_error_response import CodespacesOperationsErrorResponse, CodespacesOperationsErrorResponseException - from .codespaces_plan_error_response import CodespacesPlanErrorResponse, CodespacesPlanErrorResponseException - from .resource import Resource - from .sku import Sku - from .identity import Identity - from .vnet_properties import VnetProperties - from .resource_provider_operation_display import ResourceProviderOperationDisplay - from .resource_provider_operation_definition import ResourceProviderOperationDefinition - from .codespaces_plan_update_parameters_properties import CodespacesPlanUpdateParametersProperties - from .codespaces_plan_update_parameters import CodespacesPlanUpdateParameters - from .codespaces_plan_properties import CodespacesPlanProperties - from .codespaces_plan import CodespacesPlan - from .codespaces_plan_access_token import CodespacesPlanAccessToken - from .codespaces_delegate_identity import CodespacesDelegateIdentity - from .codespaces_delegate_access_token_request_body import CodespacesDelegateAccessTokenRequestBody -from .resource_provider_operation_definition_paged import ResourceProviderOperationDefinitionPaged -from .codespaces_plan_paged import CodespacesPlanPaged -from .codespaces_client_enums import ( - SkuTier, -) - -__all__ = [ - 'ErrorDefinition', - 'CodespacesOperationsErrorResponse', 'CodespacesOperationsErrorResponseException', - 'CodespacesPlanErrorResponse', 'CodespacesPlanErrorResponseException', - 'Resource', - 'Sku', - 'Identity', - 'VnetProperties', - 'ResourceProviderOperationDisplay', - 'ResourceProviderOperationDefinition', - 'CodespacesPlanUpdateParametersProperties', - 'CodespacesPlanUpdateParameters', - 'CodespacesPlanProperties', - 'CodespacesPlan', - 'CodespacesPlanAccessToken', - 'CodespacesDelegateIdentity', - 'CodespacesDelegateAccessTokenRequestBody', - 'ResourceProviderOperationDefinitionPaged', - 'CodespacesPlanPaged', - 'SkuTier', -] diff --git a/src/codespaces/azext_codespaces/vendored_sdks/codespaces/models/codespaces_client_enums.py b/src/codespaces/azext_codespaces/vendored_sdks/codespaces/models/codespaces_client_enums.py deleted file mode 100644 index 22491305e3c..00000000000 --- a/src/codespaces/azext_codespaces/vendored_sdks/codespaces/models/codespaces_client_enums.py +++ /dev/null @@ -1,17 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from enum import Enum - - -class SkuTier(str, Enum): - - standard = "Standard" diff --git a/src/codespaces/azext_codespaces/vendored_sdks/codespaces/models/codespaces_delegate_access_token_request_body.py b/src/codespaces/azext_codespaces/vendored_sdks/codespaces/models/codespaces_delegate_access_token_request_body.py deleted file mode 100644 index 83e9e96aeb6..00000000000 --- a/src/codespaces/azext_codespaces/vendored_sdks/codespaces/models/codespaces_delegate_access_token_request_body.py +++ /dev/null @@ -1,53 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class CodespacesDelegateAccessTokenRequestBody(Model): - """Object that includes a Codespaces Plans delegate access token request - parameters. - - All required parameters must be populated in order to send to Azure. - - :param scope: Required. The requested scopes for the Codespaces Plan - access token. - :type scope: str - :param expiration: The requested expiration timestamp for the Codespaces - Plan access token. - :type expiration: long - :param identity: Required. The identity of the user of the Codespaces Plan - access token. - :type identity: ~microsoft.codespaces.models.CodespacesDelegateIdentity - :param environment_ids: A subset of codespaces within the Codespaces Plan - which the returned token will grant access to. If not provided the token - will be applicable for all codespaces. - :type environment_ids: list[str] - """ - - _validation = { - 'scope': {'required': True}, - 'identity': {'required': True}, - } - - _attribute_map = { - 'scope': {'key': 'scope', 'type': 'str'}, - 'expiration': {'key': 'expiration', 'type': 'long'}, - 'identity': {'key': 'identity', 'type': 'CodespacesDelegateIdentity'}, - 'environment_ids': {'key': 'environmentIds', 'type': '[str]'}, - } - - def __init__(self, **kwargs): - super(CodespacesDelegateAccessTokenRequestBody, self).__init__(**kwargs) - self.scope = kwargs.get('scope', None) - self.expiration = kwargs.get('expiration', None) - self.identity = kwargs.get('identity', None) - self.environment_ids = kwargs.get('environment_ids', None) diff --git a/src/codespaces/azext_codespaces/vendored_sdks/codespaces/models/codespaces_delegate_access_token_request_body_py3.py b/src/codespaces/azext_codespaces/vendored_sdks/codespaces/models/codespaces_delegate_access_token_request_body_py3.py deleted file mode 100644 index 9c2c1dceda2..00000000000 --- a/src/codespaces/azext_codespaces/vendored_sdks/codespaces/models/codespaces_delegate_access_token_request_body_py3.py +++ /dev/null @@ -1,53 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class CodespacesDelegateAccessTokenRequestBody(Model): - """Object that includes a Codespaces Plans delegate access token request - parameters. - - All required parameters must be populated in order to send to Azure. - - :param scope: Required. The requested scopes for the Codespaces Plan - access token. - :type scope: str - :param expiration: The requested expiration timestamp for the Codespaces - Plan access token. - :type expiration: long - :param identity: Required. The identity of the user of the Codespaces Plan - access token. - :type identity: ~microsoft.codespaces.models.CodespacesDelegateIdentity - :param environment_ids: A subset of codespaces within the Codespaces Plan - which the returned token will grant access to. If not provided the token - will be applicable for all codespaces. - :type environment_ids: list[str] - """ - - _validation = { - 'scope': {'required': True}, - 'identity': {'required': True}, - } - - _attribute_map = { - 'scope': {'key': 'scope', 'type': 'str'}, - 'expiration': {'key': 'expiration', 'type': 'long'}, - 'identity': {'key': 'identity', 'type': 'CodespacesDelegateIdentity'}, - 'environment_ids': {'key': 'environmentIds', 'type': '[str]'}, - } - - def __init__(self, *, scope: str, identity, expiration: int=None, environment_ids=None, **kwargs) -> None: - super(CodespacesDelegateAccessTokenRequestBody, self).__init__(**kwargs) - self.scope = scope - self.expiration = expiration - self.identity = identity - self.environment_ids = environment_ids diff --git a/src/codespaces/azext_codespaces/vendored_sdks/codespaces/models/codespaces_delegate_identity.py b/src/codespaces/azext_codespaces/vendored_sdks/codespaces/models/codespaces_delegate_identity.py deleted file mode 100644 index d8579485546..00000000000 --- a/src/codespaces/azext_codespaces/vendored_sdks/codespaces/models/codespaces_delegate_identity.py +++ /dev/null @@ -1,45 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class CodespacesDelegateIdentity(Model): - """Object that includes the identity of the user of a delegated access token. - - All required parameters must be populated in order to send to Azure. - - :param username: Required. The user's user name. - :type username: str - :param display_name: Required. The user's display name. - :type display_name: str - :param id: Required. The user's unique identifier which should never - change. - :type id: str - """ - - _validation = { - 'username': {'required': True}, - 'display_name': {'required': True}, - 'id': {'required': True}, - } - - _attribute_map = { - 'username': {'key': 'username', 'type': 'str'}, - 'display_name': {'key': 'displayName', 'type': 'str'}, - 'id': {'key': 'id', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(CodespacesDelegateIdentity, self).__init__(**kwargs) - self.username = kwargs.get('username', None) - self.display_name = kwargs.get('display_name', None) - self.id = kwargs.get('id', None) diff --git a/src/codespaces/azext_codespaces/vendored_sdks/codespaces/models/codespaces_delegate_identity_py3.py b/src/codespaces/azext_codespaces/vendored_sdks/codespaces/models/codespaces_delegate_identity_py3.py deleted file mode 100644 index 1ec012c33aa..00000000000 --- a/src/codespaces/azext_codespaces/vendored_sdks/codespaces/models/codespaces_delegate_identity_py3.py +++ /dev/null @@ -1,45 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class CodespacesDelegateIdentity(Model): - """Object that includes the identity of the user of a delegated access token. - - All required parameters must be populated in order to send to Azure. - - :param username: Required. The user's user name. - :type username: str - :param display_name: Required. The user's display name. - :type display_name: str - :param id: Required. The user's unique identifier which should never - change. - :type id: str - """ - - _validation = { - 'username': {'required': True}, - 'display_name': {'required': True}, - 'id': {'required': True}, - } - - _attribute_map = { - 'username': {'key': 'username', 'type': 'str'}, - 'display_name': {'key': 'displayName', 'type': 'str'}, - 'id': {'key': 'id', 'type': 'str'}, - } - - def __init__(self, *, username: str, display_name: str, id: str, **kwargs) -> None: - super(CodespacesDelegateIdentity, self).__init__(**kwargs) - self.username = username - self.display_name = display_name - self.id = id diff --git a/src/codespaces/azext_codespaces/vendored_sdks/codespaces/models/codespaces_operations_error_response.py b/src/codespaces/azext_codespaces/vendored_sdks/codespaces/models/codespaces_operations_error_response.py deleted file mode 100644 index 8ce7635f847..00000000000 --- a/src/codespaces/azext_codespaces/vendored_sdks/codespaces/models/codespaces_operations_error_response.py +++ /dev/null @@ -1,42 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model -from msrest.exceptions import HttpOperationError - - -class CodespacesOperationsErrorResponse(Model): - """Error response indicates that the service is not able to process the - incoming request. - - :param error: The error details. - :type error: ~microsoft.codespaces.models.ErrorDefinition - """ - - _attribute_map = { - 'error': {'key': 'error', 'type': 'ErrorDefinition'}, - } - - def __init__(self, **kwargs): - super(CodespacesOperationsErrorResponse, self).__init__(**kwargs) - self.error = kwargs.get('error', None) - - -class CodespacesOperationsErrorResponseException(HttpOperationError): - """Server responsed with exception of type: 'CodespacesOperationsErrorResponse'. - - :param deserialize: A deserializer - :param response: Server response to be deserialized. - """ - - def __init__(self, deserialize, response, *args): - - super(CodespacesOperationsErrorResponseException, self).__init__(deserialize, response, 'CodespacesOperationsErrorResponse', *args) diff --git a/src/codespaces/azext_codespaces/vendored_sdks/codespaces/models/codespaces_operations_error_response_py3.py b/src/codespaces/azext_codespaces/vendored_sdks/codespaces/models/codespaces_operations_error_response_py3.py deleted file mode 100644 index cd3c267a01f..00000000000 --- a/src/codespaces/azext_codespaces/vendored_sdks/codespaces/models/codespaces_operations_error_response_py3.py +++ /dev/null @@ -1,42 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model -from msrest.exceptions import HttpOperationError - - -class CodespacesOperationsErrorResponse(Model): - """Error response indicates that the service is not able to process the - incoming request. - - :param error: The error details. - :type error: ~microsoft.codespaces.models.ErrorDefinition - """ - - _attribute_map = { - 'error': {'key': 'error', 'type': 'ErrorDefinition'}, - } - - def __init__(self, *, error=None, **kwargs) -> None: - super(CodespacesOperationsErrorResponse, self).__init__(**kwargs) - self.error = error - - -class CodespacesOperationsErrorResponseException(HttpOperationError): - """Server responsed with exception of type: 'CodespacesOperationsErrorResponse'. - - :param deserialize: A deserializer - :param response: Server response to be deserialized. - """ - - def __init__(self, deserialize, response, *args): - - super(CodespacesOperationsErrorResponseException, self).__init__(deserialize, response, 'CodespacesOperationsErrorResponse', *args) diff --git a/src/codespaces/azext_codespaces/vendored_sdks/codespaces/models/codespaces_plan.py b/src/codespaces/azext_codespaces/vendored_sdks/codespaces/models/codespaces_plan.py deleted file mode 100644 index c9ba0dc0e26..00000000000 --- a/src/codespaces/azext_codespaces/vendored_sdks/codespaces/models/codespaces_plan.py +++ /dev/null @@ -1,62 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .resource import Resource - - -class CodespacesPlan(Resource): - """Codespaces Plan. Represents the high level Plan needed to provision - Codespaces resources. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar id: Fully qualified resource Id for the resource. - :vartype id: str - :ivar name: The name of the resource. - :vartype name: str - :ivar type: The type of the resource. - :vartype type: str - :param tags: Tags for the Codespaces Plan - :type tags: dict[str, str] - :param location: Region where the Azure resource is located. - :type location: str - :param sku: SKU of the service. - :type sku: ~microsoft.codespaces.models.Sku - :param identity: The type of identity used for the resource. - :type identity: ~microsoft.codespaces.models.Identity - :param properties: Codespaces Additional properties. Additional Codespaces - Plan properties. - :type properties: ~microsoft.codespaces.models.CodespacesPlanProperties - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'location': {'key': 'location', 'type': 'str'}, - 'sku': {'key': 'sku', 'type': 'Sku'}, - 'identity': {'key': 'identity', 'type': 'Identity'}, - 'properties': {'key': 'properties', 'type': 'CodespacesPlanProperties'}, - } - - def __init__(self, **kwargs): - super(CodespacesPlan, self).__init__(**kwargs) - self.sku = kwargs.get('sku', None) - self.identity = kwargs.get('identity', None) - self.properties = kwargs.get('properties', None) diff --git a/src/codespaces/azext_codespaces/vendored_sdks/codespaces/models/codespaces_plan_access_token.py b/src/codespaces/azext_codespaces/vendored_sdks/codespaces/models/codespaces_plan_access_token.py deleted file mode 100644 index b4fbff1c4da..00000000000 --- a/src/codespaces/azext_codespaces/vendored_sdks/codespaces/models/codespaces_plan_access_token.py +++ /dev/null @@ -1,35 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class CodespacesPlanAccessToken(Model): - """Object that includes a Codespaces Plans access token. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar access_token: The Codespaces Plan access token. - :vartype access_token: str - """ - - _validation = { - 'access_token': {'readonly': True}, - } - - _attribute_map = { - 'access_token': {'key': 'accessToken', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(CodespacesPlanAccessToken, self).__init__(**kwargs) - self.access_token = None diff --git a/src/codespaces/azext_codespaces/vendored_sdks/codespaces/models/codespaces_plan_access_token_py3.py b/src/codespaces/azext_codespaces/vendored_sdks/codespaces/models/codespaces_plan_access_token_py3.py deleted file mode 100644 index ac7e64dfdfd..00000000000 --- a/src/codespaces/azext_codespaces/vendored_sdks/codespaces/models/codespaces_plan_access_token_py3.py +++ /dev/null @@ -1,35 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class CodespacesPlanAccessToken(Model): - """Object that includes a Codespaces Plans access token. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar access_token: The Codespaces Plan access token. - :vartype access_token: str - """ - - _validation = { - 'access_token': {'readonly': True}, - } - - _attribute_map = { - 'access_token': {'key': 'accessToken', 'type': 'str'}, - } - - def __init__(self, **kwargs) -> None: - super(CodespacesPlanAccessToken, self).__init__(**kwargs) - self.access_token = None diff --git a/src/codespaces/azext_codespaces/vendored_sdks/codespaces/models/codespaces_plan_error_response.py b/src/codespaces/azext_codespaces/vendored_sdks/codespaces/models/codespaces_plan_error_response.py deleted file mode 100644 index 216fc5a7470..00000000000 --- a/src/codespaces/azext_codespaces/vendored_sdks/codespaces/models/codespaces_plan_error_response.py +++ /dev/null @@ -1,42 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model -from msrest.exceptions import HttpOperationError - - -class CodespacesPlanErrorResponse(Model): - """Error response indicates that the service is not able to process the - incoming request. - - :param error: The error details. - :type error: ~microsoft.codespaces.models.ErrorDefinition - """ - - _attribute_map = { - 'error': {'key': 'error', 'type': 'ErrorDefinition'}, - } - - def __init__(self, **kwargs): - super(CodespacesPlanErrorResponse, self).__init__(**kwargs) - self.error = kwargs.get('error', None) - - -class CodespacesPlanErrorResponseException(HttpOperationError): - """Server responsed with exception of type: 'CodespacesPlanErrorResponse'. - - :param deserialize: A deserializer - :param response: Server response to be deserialized. - """ - - def __init__(self, deserialize, response, *args): - - super(CodespacesPlanErrorResponseException, self).__init__(deserialize, response, 'CodespacesPlanErrorResponse', *args) diff --git a/src/codespaces/azext_codespaces/vendored_sdks/codespaces/models/codespaces_plan_error_response_py3.py b/src/codespaces/azext_codespaces/vendored_sdks/codespaces/models/codespaces_plan_error_response_py3.py deleted file mode 100644 index ac22bfd3d61..00000000000 --- a/src/codespaces/azext_codespaces/vendored_sdks/codespaces/models/codespaces_plan_error_response_py3.py +++ /dev/null @@ -1,42 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model -from msrest.exceptions import HttpOperationError - - -class CodespacesPlanErrorResponse(Model): - """Error response indicates that the service is not able to process the - incoming request. - - :param error: The error details. - :type error: ~microsoft.codespaces.models.ErrorDefinition - """ - - _attribute_map = { - 'error': {'key': 'error', 'type': 'ErrorDefinition'}, - } - - def __init__(self, *, error=None, **kwargs) -> None: - super(CodespacesPlanErrorResponse, self).__init__(**kwargs) - self.error = error - - -class CodespacesPlanErrorResponseException(HttpOperationError): - """Server responsed with exception of type: 'CodespacesPlanErrorResponse'. - - :param deserialize: A deserializer - :param response: Server response to be deserialized. - """ - - def __init__(self, deserialize, response, *args): - - super(CodespacesPlanErrorResponseException, self).__init__(deserialize, response, 'CodespacesPlanErrorResponse', *args) diff --git a/src/codespaces/azext_codespaces/vendored_sdks/codespaces/models/codespaces_plan_paged.py b/src/codespaces/azext_codespaces/vendored_sdks/codespaces/models/codespaces_plan_paged.py deleted file mode 100644 index 265f3329ce7..00000000000 --- a/src/codespaces/azext_codespaces/vendored_sdks/codespaces/models/codespaces_plan_paged.py +++ /dev/null @@ -1,27 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.paging import Paged - - -class CodespacesPlanPaged(Paged): - """ - A paging container for iterating over a list of :class:`CodespacesPlan ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[CodespacesPlan]'} - } - - def __init__(self, *args, **kwargs): - - super(CodespacesPlanPaged, self).__init__(*args, **kwargs) diff --git a/src/codespaces/azext_codespaces/vendored_sdks/codespaces/models/codespaces_plan_properties.py b/src/codespaces/azext_codespaces/vendored_sdks/codespaces/models/codespaces_plan_properties.py deleted file mode 100644 index dfa69a0d4b5..00000000000 --- a/src/codespaces/azext_codespaces/vendored_sdks/codespaces/models/codespaces_plan_properties.py +++ /dev/null @@ -1,41 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class CodespacesPlanProperties(Model): - """Codespaces Additional properties. - - Additional Codespaces Plan properties. - - :param default_auto_suspend_delay_minutes: Specifies auto suspend interval - for codespaces in this plan. - :type default_auto_suspend_delay_minutes: long - :param default_codespace_sku: Specifies the default codespace sku name for - this plan. - :type default_codespace_sku: str - :param vnet_properties: Specifies the vnet injection properties for this - plan. - :type vnet_properties: ~microsoft.codespaces.models.VnetProperties - """ - - _attribute_map = { - 'default_auto_suspend_delay_minutes': {'key': 'defaultAutoSuspendDelayMinutes', 'type': 'long'}, - 'default_codespace_sku': {'key': 'defaultCodespaceSku', 'type': 'str'}, - 'vnet_properties': {'key': 'vnetProperties', 'type': 'VnetProperties'}, - } - - def __init__(self, **kwargs): - super(CodespacesPlanProperties, self).__init__(**kwargs) - self.default_auto_suspend_delay_minutes = kwargs.get('default_auto_suspend_delay_minutes', None) - self.default_codespace_sku = kwargs.get('default_codespace_sku', None) - self.vnet_properties = kwargs.get('vnet_properties', None) diff --git a/src/codespaces/azext_codespaces/vendored_sdks/codespaces/models/codespaces_plan_properties_py3.py b/src/codespaces/azext_codespaces/vendored_sdks/codespaces/models/codespaces_plan_properties_py3.py deleted file mode 100644 index 40535e81e29..00000000000 --- a/src/codespaces/azext_codespaces/vendored_sdks/codespaces/models/codespaces_plan_properties_py3.py +++ /dev/null @@ -1,41 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class CodespacesPlanProperties(Model): - """Codespaces Additional properties. - - Additional Codespaces Plan properties. - - :param default_auto_suspend_delay_minutes: Specifies auto suspend interval - for codespaces in this plan. - :type default_auto_suspend_delay_minutes: long - :param default_codespace_sku: Specifies the default codespace sku name for - this plan. - :type default_codespace_sku: str - :param vnet_properties: Specifies the vnet injection properties for this - plan. - :type vnet_properties: ~microsoft.codespaces.models.VnetProperties - """ - - _attribute_map = { - 'default_auto_suspend_delay_minutes': {'key': 'defaultAutoSuspendDelayMinutes', 'type': 'long'}, - 'default_codespace_sku': {'key': 'defaultCodespaceSku', 'type': 'str'}, - 'vnet_properties': {'key': 'vnetProperties', 'type': 'VnetProperties'}, - } - - def __init__(self, *, default_auto_suspend_delay_minutes: int=None, default_codespace_sku: str=None, vnet_properties=None, **kwargs) -> None: - super(CodespacesPlanProperties, self).__init__(**kwargs) - self.default_auto_suspend_delay_minutes = default_auto_suspend_delay_minutes - self.default_codespace_sku = default_codespace_sku - self.vnet_properties = vnet_properties diff --git a/src/codespaces/azext_codespaces/vendored_sdks/codespaces/models/codespaces_plan_py3.py b/src/codespaces/azext_codespaces/vendored_sdks/codespaces/models/codespaces_plan_py3.py deleted file mode 100644 index 1e0ac4d6bc3..00000000000 --- a/src/codespaces/azext_codespaces/vendored_sdks/codespaces/models/codespaces_plan_py3.py +++ /dev/null @@ -1,62 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .resource_py3 import Resource - - -class CodespacesPlan(Resource): - """Codespaces Plan. Represents the high level Plan needed to provision - Codespaces resources. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar id: Fully qualified resource Id for the resource. - :vartype id: str - :ivar name: The name of the resource. - :vartype name: str - :ivar type: The type of the resource. - :vartype type: str - :param tags: Tags for the Codespaces Plan - :type tags: dict[str, str] - :param location: Region where the Azure resource is located. - :type location: str - :param sku: SKU of the service. - :type sku: ~microsoft.codespaces.models.Sku - :param identity: The type of identity used for the resource. - :type identity: ~microsoft.codespaces.models.Identity - :param properties: Codespaces Additional properties. Additional Codespaces - Plan properties. - :type properties: ~microsoft.codespaces.models.CodespacesPlanProperties - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'location': {'key': 'location', 'type': 'str'}, - 'sku': {'key': 'sku', 'type': 'Sku'}, - 'identity': {'key': 'identity', 'type': 'Identity'}, - 'properties': {'key': 'properties', 'type': 'CodespacesPlanProperties'}, - } - - def __init__(self, *, tags=None, location: str=None, sku=None, identity=None, properties=None, **kwargs) -> None: - super(CodespacesPlan, self).__init__(tags=tags, location=location, **kwargs) - self.sku = sku - self.identity = identity - self.properties = properties diff --git a/src/codespaces/azext_codespaces/vendored_sdks/codespaces/models/codespaces_plan_update_parameters.py b/src/codespaces/azext_codespaces/vendored_sdks/codespaces/models/codespaces_plan_update_parameters.py deleted file mode 100644 index 502191bcf36..00000000000 --- a/src/codespaces/azext_codespaces/vendored_sdks/codespaces/models/codespaces_plan_update_parameters.py +++ /dev/null @@ -1,37 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class CodespacesPlanUpdateParameters(Model): - """Parameters for updating a Codespaces Plan. - - :param tags: Tags for the Codespaces Plan. - :type tags: dict[str, str] - :param sku: SKU of the service. - :type sku: ~microsoft.codespaces.models.Sku - :param properties: Additional Codespaces Plan properties. - :type properties: - ~microsoft.codespaces.models.CodespacesPlanUpdateParametersProperties - """ - - _attribute_map = { - 'tags': {'key': 'tags', 'type': '{str}'}, - 'sku': {'key': 'sku', 'type': 'Sku'}, - 'properties': {'key': 'properties', 'type': 'CodespacesPlanUpdateParametersProperties'}, - } - - def __init__(self, **kwargs): - super(CodespacesPlanUpdateParameters, self).__init__(**kwargs) - self.tags = kwargs.get('tags', None) - self.sku = kwargs.get('sku', None) - self.properties = kwargs.get('properties', None) diff --git a/src/codespaces/azext_codespaces/vendored_sdks/codespaces/models/codespaces_plan_update_parameters_properties.py b/src/codespaces/azext_codespaces/vendored_sdks/codespaces/models/codespaces_plan_update_parameters_properties.py deleted file mode 100644 index 1b4a45904c1..00000000000 --- a/src/codespaces/azext_codespaces/vendored_sdks/codespaces/models/codespaces_plan_update_parameters_properties.py +++ /dev/null @@ -1,39 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class CodespacesPlanUpdateParametersProperties(Model): - """Additional Codespaces Plan properties. - - :param default_auto_suspend_delay_minutes: Specifies auto suspend interval - for codespaces in this plan. - :type default_auto_suspend_delay_minutes: long - :param default_codespace_sku: Specifies the default codespace sku name for - this plan. - :type default_codespace_sku: str - :param vnet_properties: Specifies the vnet injection properties for this - plan. - :type vnet_properties: ~microsoft.codespaces.models.VnetProperties - """ - - _attribute_map = { - 'default_auto_suspend_delay_minutes': {'key': 'defaultAutoSuspendDelayMinutes', 'type': 'long'}, - 'default_codespace_sku': {'key': 'defaultCodespaceSku', 'type': 'str'}, - 'vnet_properties': {'key': 'vnetProperties', 'type': 'VnetProperties'}, - } - - def __init__(self, **kwargs): - super(CodespacesPlanUpdateParametersProperties, self).__init__(**kwargs) - self.default_auto_suspend_delay_minutes = kwargs.get('default_auto_suspend_delay_minutes', None) - self.default_codespace_sku = kwargs.get('default_codespace_sku', None) - self.vnet_properties = kwargs.get('vnet_properties', None) diff --git a/src/codespaces/azext_codespaces/vendored_sdks/codespaces/models/codespaces_plan_update_parameters_properties_py3.py b/src/codespaces/azext_codespaces/vendored_sdks/codespaces/models/codespaces_plan_update_parameters_properties_py3.py deleted file mode 100644 index 34891abac36..00000000000 --- a/src/codespaces/azext_codespaces/vendored_sdks/codespaces/models/codespaces_plan_update_parameters_properties_py3.py +++ /dev/null @@ -1,39 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class CodespacesPlanUpdateParametersProperties(Model): - """Additional Codespaces Plan properties. - - :param default_auto_suspend_delay_minutes: Specifies auto suspend interval - for codespaces in this plan. - :type default_auto_suspend_delay_minutes: long - :param default_codespace_sku: Specifies the default codespace sku name for - this plan. - :type default_codespace_sku: str - :param vnet_properties: Specifies the vnet injection properties for this - plan. - :type vnet_properties: ~microsoft.codespaces.models.VnetProperties - """ - - _attribute_map = { - 'default_auto_suspend_delay_minutes': {'key': 'defaultAutoSuspendDelayMinutes', 'type': 'long'}, - 'default_codespace_sku': {'key': 'defaultCodespaceSku', 'type': 'str'}, - 'vnet_properties': {'key': 'vnetProperties', 'type': 'VnetProperties'}, - } - - def __init__(self, *, default_auto_suspend_delay_minutes: int=None, default_codespace_sku: str=None, vnet_properties=None, **kwargs) -> None: - super(CodespacesPlanUpdateParametersProperties, self).__init__(**kwargs) - self.default_auto_suspend_delay_minutes = default_auto_suspend_delay_minutes - self.default_codespace_sku = default_codespace_sku - self.vnet_properties = vnet_properties diff --git a/src/codespaces/azext_codespaces/vendored_sdks/codespaces/models/codespaces_plan_update_parameters_py3.py b/src/codespaces/azext_codespaces/vendored_sdks/codespaces/models/codespaces_plan_update_parameters_py3.py deleted file mode 100644 index 9d06723d695..00000000000 --- a/src/codespaces/azext_codespaces/vendored_sdks/codespaces/models/codespaces_plan_update_parameters_py3.py +++ /dev/null @@ -1,37 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class CodespacesPlanUpdateParameters(Model): - """Parameters for updating a Codespaces Plan. - - :param tags: Tags for the Codespaces Plan. - :type tags: dict[str, str] - :param sku: SKU of the service. - :type sku: ~microsoft.codespaces.models.Sku - :param properties: Additional Codespaces Plan properties. - :type properties: - ~microsoft.codespaces.models.CodespacesPlanUpdateParametersProperties - """ - - _attribute_map = { - 'tags': {'key': 'tags', 'type': '{str}'}, - 'sku': {'key': 'sku', 'type': 'Sku'}, - 'properties': {'key': 'properties', 'type': 'CodespacesPlanUpdateParametersProperties'}, - } - - def __init__(self, *, tags=None, sku=None, properties=None, **kwargs) -> None: - super(CodespacesPlanUpdateParameters, self).__init__(**kwargs) - self.tags = tags - self.sku = sku - self.properties = properties diff --git a/src/codespaces/azext_codespaces/vendored_sdks/codespaces/models/error_definition.py b/src/codespaces/azext_codespaces/vendored_sdks/codespaces/models/error_definition.py deleted file mode 100644 index 4bc75106de6..00000000000 --- a/src/codespaces/azext_codespaces/vendored_sdks/codespaces/models/error_definition.py +++ /dev/null @@ -1,46 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class 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 sub status 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[~microsoft.codespaces.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/codespaces/azext_codespaces/vendored_sdks/codespaces/models/error_definition_py3.py b/src/codespaces/azext_codespaces/vendored_sdks/codespaces/models/error_definition_py3.py deleted file mode 100644 index 2c247d34ac7..00000000000 --- a/src/codespaces/azext_codespaces/vendored_sdks/codespaces/models/error_definition_py3.py +++ /dev/null @@ -1,46 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class 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 sub status 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[~microsoft.codespaces.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/codespaces/azext_codespaces/vendored_sdks/codespaces/models/identity.py b/src/codespaces/azext_codespaces/vendored_sdks/codespaces/models/identity.py deleted file mode 100644 index f490e245487..00000000000 --- a/src/codespaces/azext_codespaces/vendored_sdks/codespaces/models/identity.py +++ /dev/null @@ -1,34 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class Identity(Model): - """Model representing Identity for Codespaces Plan. - - All required parameters must be populated in order to send to Azure. - - :param type: Required. The type of identity - :type type: str - """ - - _validation = { - 'type': {'required': True}, - } - - _attribute_map = { - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(Identity, self).__init__(**kwargs) - self.type = kwargs.get('type', None) diff --git a/src/codespaces/azext_codespaces/vendored_sdks/codespaces/models/identity_py3.py b/src/codespaces/azext_codespaces/vendored_sdks/codespaces/models/identity_py3.py deleted file mode 100644 index 2efb7fc1b6e..00000000000 --- a/src/codespaces/azext_codespaces/vendored_sdks/codespaces/models/identity_py3.py +++ /dev/null @@ -1,34 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class Identity(Model): - """Model representing Identity for Codespaces Plan. - - All required parameters must be populated in order to send to Azure. - - :param type: Required. The type of identity - :type type: str - """ - - _validation = { - 'type': {'required': True}, - } - - _attribute_map = { - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__(self, *, type: str, **kwargs) -> None: - super(Identity, self).__init__(**kwargs) - self.type = type diff --git a/src/codespaces/azext_codespaces/vendored_sdks/codespaces/models/resource.py b/src/codespaces/azext_codespaces/vendored_sdks/codespaces/models/resource.py deleted file mode 100644 index cbf15df4ff5..00000000000 --- a/src/codespaces/azext_codespaces/vendored_sdks/codespaces/models/resource.py +++ /dev/null @@ -1,53 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class Resource(Model): - """An Azure resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar id: Fully qualified resource Id for the resource. - :vartype id: str - :ivar name: The name of the resource. - :vartype name: str - :ivar type: The type of the resource. - :vartype type: str - :param tags: Tags for the Codespaces Plan - :type tags: dict[str, str] - :param location: Region where the Azure resource is located. - :type location: 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'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'location': {'key': 'location', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(Resource, self).__init__(**kwargs) - self.id = None - self.name = None - self.type = None - self.tags = kwargs.get('tags', None) - self.location = kwargs.get('location', None) diff --git a/src/codespaces/azext_codespaces/vendored_sdks/codespaces/models/resource_provider_operation_definition.py b/src/codespaces/azext_codespaces/vendored_sdks/codespaces/models/resource_provider_operation_definition.py deleted file mode 100644 index 13a3b48e349..00000000000 --- a/src/codespaces/azext_codespaces/vendored_sdks/codespaces/models/resource_provider_operation_definition.py +++ /dev/null @@ -1,33 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ResourceProviderOperationDefinition(Model): - """Describes the Resource Provider Operation. - - :param name: Resource provider operation name. - :type name: str - :param display: Resource provider display properties. - :type display: - ~microsoft.codespaces.models.ResourceProviderOperationDisplay - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'display': {'key': 'display', 'type': 'ResourceProviderOperationDisplay'}, - } - - def __init__(self, **kwargs): - super(ResourceProviderOperationDefinition, self).__init__(**kwargs) - self.name = kwargs.get('name', None) - self.display = kwargs.get('display', None) diff --git a/src/codespaces/azext_codespaces/vendored_sdks/codespaces/models/resource_provider_operation_definition_paged.py b/src/codespaces/azext_codespaces/vendored_sdks/codespaces/models/resource_provider_operation_definition_paged.py deleted file mode 100644 index 2fd1ff78104..00000000000 --- a/src/codespaces/azext_codespaces/vendored_sdks/codespaces/models/resource_provider_operation_definition_paged.py +++ /dev/null @@ -1,27 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.paging import Paged - - -class ResourceProviderOperationDefinitionPaged(Paged): - """ - A paging container for iterating over a list of :class:`ResourceProviderOperationDefinition ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[ResourceProviderOperationDefinition]'} - } - - def __init__(self, *args, **kwargs): - - super(ResourceProviderOperationDefinitionPaged, self).__init__(*args, **kwargs) diff --git a/src/codespaces/azext_codespaces/vendored_sdks/codespaces/models/resource_provider_operation_definition_py3.py b/src/codespaces/azext_codespaces/vendored_sdks/codespaces/models/resource_provider_operation_definition_py3.py deleted file mode 100644 index f5b76632d59..00000000000 --- a/src/codespaces/azext_codespaces/vendored_sdks/codespaces/models/resource_provider_operation_definition_py3.py +++ /dev/null @@ -1,33 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ResourceProviderOperationDefinition(Model): - """Describes the Resource Provider Operation. - - :param name: Resource provider operation name. - :type name: str - :param display: Resource provider display properties. - :type display: - ~microsoft.codespaces.models.ResourceProviderOperationDisplay - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'display': {'key': 'display', 'type': 'ResourceProviderOperationDisplay'}, - } - - def __init__(self, *, name: str=None, display=None, **kwargs) -> None: - super(ResourceProviderOperationDefinition, self).__init__(**kwargs) - self.name = name - self.display = display diff --git a/src/codespaces/azext_codespaces/vendored_sdks/codespaces/models/resource_provider_operation_display.py b/src/codespaces/azext_codespaces/vendored_sdks/codespaces/models/resource_provider_operation_display.py deleted file mode 100644 index ce952816e2f..00000000000 --- a/src/codespaces/azext_codespaces/vendored_sdks/codespaces/models/resource_provider_operation_display.py +++ /dev/null @@ -1,40 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ResourceProviderOperationDisplay(Model): - """Describes the properties of the Operation. - - :param provider: Name of the resource provider. - :type provider: str - :param resource: Name of the resource type. - :type resource: str - :param operation: Name of the resource provider operation. - :type operation: str - :param description: Description of the resource provider 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(ResourceProviderOperationDisplay, 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/codespaces/azext_codespaces/vendored_sdks/codespaces/models/resource_provider_operation_display_py3.py b/src/codespaces/azext_codespaces/vendored_sdks/codespaces/models/resource_provider_operation_display_py3.py deleted file mode 100644 index 2a381c08d54..00000000000 --- a/src/codespaces/azext_codespaces/vendored_sdks/codespaces/models/resource_provider_operation_display_py3.py +++ /dev/null @@ -1,40 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class ResourceProviderOperationDisplay(Model): - """Describes the properties of the Operation. - - :param provider: Name of the resource provider. - :type provider: str - :param resource: Name of the resource type. - :type resource: str - :param operation: Name of the resource provider operation. - :type operation: str - :param description: Description of the resource provider 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(ResourceProviderOperationDisplay, self).__init__(**kwargs) - self.provider = provider - self.resource = resource - self.operation = operation - self.description = description diff --git a/src/codespaces/azext_codespaces/vendored_sdks/codespaces/models/resource_py3.py b/src/codespaces/azext_codespaces/vendored_sdks/codespaces/models/resource_py3.py deleted file mode 100644 index e198f9c97f6..00000000000 --- a/src/codespaces/azext_codespaces/vendored_sdks/codespaces/models/resource_py3.py +++ /dev/null @@ -1,53 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class Resource(Model): - """An Azure resource. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar id: Fully qualified resource Id for the resource. - :vartype id: str - :ivar name: The name of the resource. - :vartype name: str - :ivar type: The type of the resource. - :vartype type: str - :param tags: Tags for the Codespaces Plan - :type tags: dict[str, str] - :param location: Region where the Azure resource is located. - :type location: 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'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'location': {'key': 'location', 'type': 'str'}, - } - - def __init__(self, *, tags=None, location: str=None, **kwargs) -> None: - super(Resource, self).__init__(**kwargs) - self.id = None - self.name = None - self.type = None - self.tags = tags - self.location = location diff --git a/src/codespaces/azext_codespaces/vendored_sdks/codespaces/models/sku.py b/src/codespaces/azext_codespaces/vendored_sdks/codespaces/models/sku.py deleted file mode 100644 index 66bdfd7db2d..00000000000 --- a/src/codespaces/azext_codespaces/vendored_sdks/codespaces/models/sku.py +++ /dev/null @@ -1,44 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class Sku(Model): - """Model representing SKU for Codespaces Plan. - - 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 name: Required. The name of the SKU for Codespaces Plan. Default - value: "Free" . - :vartype name: str - :param tier: The tier of the SKU for Codespaces Plan. Possible values - include: 'Standard' - :type tier: str or ~microsoft.codespaces.models.SkuTier - """ - - _validation = { - 'name': {'required': True, 'constant': True}, - } - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'tier': {'key': 'tier', 'type': 'str'}, - } - - name = "Free" - - def __init__(self, **kwargs): - super(Sku, self).__init__(**kwargs) - self.tier = kwargs.get('tier', None) diff --git a/src/codespaces/azext_codespaces/vendored_sdks/codespaces/models/sku_py3.py b/src/codespaces/azext_codespaces/vendored_sdks/codespaces/models/sku_py3.py deleted file mode 100644 index cfbfcbb0e32..00000000000 --- a/src/codespaces/azext_codespaces/vendored_sdks/codespaces/models/sku_py3.py +++ /dev/null @@ -1,44 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class Sku(Model): - """Model representing SKU for Codespaces Plan. - - 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 name: Required. The name of the SKU for Codespaces Plan. Default - value: "Free" . - :vartype name: str - :param tier: The tier of the SKU for Codespaces Plan. Possible values - include: 'Standard' - :type tier: str or ~microsoft.codespaces.models.SkuTier - """ - - _validation = { - 'name': {'required': True, 'constant': True}, - } - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'tier': {'key': 'tier', 'type': 'str'}, - } - - name = "Free" - - def __init__(self, *, tier=None, **kwargs) -> None: - super(Sku, self).__init__(**kwargs) - self.tier = tier diff --git a/src/codespaces/azext_codespaces/vendored_sdks/codespaces/models/vnet_properties.py b/src/codespaces/azext_codespaces/vendored_sdks/codespaces/models/vnet_properties.py deleted file mode 100644 index 1ee38d17daf..00000000000 --- a/src/codespaces/azext_codespaces/vendored_sdks/codespaces/models/vnet_properties.py +++ /dev/null @@ -1,33 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class VnetProperties(Model): - """Model representing Vnet Injection properties for Codespaces Plan. - - :param subnet_id: The ARM resource identifier of the virtual network - subnet which the codespaces of the Codespaces Plan will join. This is of - the form - /subscriptions/{subscription}/resourceGroups/{group}/providers/{provider}/virtualNetworks/{network}/subnets/{subnet}.The - virtual network must be in the same region and subscription as the - Codespaces Plan. - :type subnet_id: str - """ - - _attribute_map = { - 'subnet_id': {'key': 'subnetId', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(VnetProperties, self).__init__(**kwargs) - self.subnet_id = kwargs.get('subnet_id', None) diff --git a/src/codespaces/azext_codespaces/vendored_sdks/codespaces/models/vnet_properties_py3.py b/src/codespaces/azext_codespaces/vendored_sdks/codespaces/models/vnet_properties_py3.py deleted file mode 100644 index d52bd7ccd9c..00000000000 --- a/src/codespaces/azext_codespaces/vendored_sdks/codespaces/models/vnet_properties_py3.py +++ /dev/null @@ -1,33 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from msrest.serialization import Model - - -class VnetProperties(Model): - """Model representing Vnet Injection properties for Codespaces Plan. - - :param subnet_id: The ARM resource identifier of the virtual network - subnet which the codespaces of the Codespaces Plan will join. This is of - the form - /subscriptions/{subscription}/resourceGroups/{group}/providers/{provider}/virtualNetworks/{network}/subnets/{subnet}.The - virtual network must be in the same region and subscription as the - Codespaces Plan. - :type subnet_id: str - """ - - _attribute_map = { - 'subnet_id': {'key': 'subnetId', 'type': 'str'}, - } - - def __init__(self, *, subnet_id: str=None, **kwargs) -> None: - super(VnetProperties, self).__init__(**kwargs) - self.subnet_id = subnet_id diff --git a/src/codespaces/azext_codespaces/vendored_sdks/codespaces/operations/__init__.py b/src/codespaces/azext_codespaces/vendored_sdks/codespaces/operations/__init__.py deleted file mode 100644 index 2efe126b397..00000000000 --- a/src/codespaces/azext_codespaces/vendored_sdks/codespaces/operations/__init__.py +++ /dev/null @@ -1,18 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from .operations import Operations -from .plan_operations import PlanOperations - -__all__ = [ - 'Operations', - 'PlanOperations', -] diff --git a/src/codespaces/azext_codespaces/vendored_sdks/codespaces/operations/operations.py b/src/codespaces/azext_codespaces/vendored_sdks/codespaces/operations/operations.py deleted file mode 100644 index 9e43b3cac7e..00000000000 --- a/src/codespaces/azext_codespaces/vendored_sdks/codespaces/operations/operations.py +++ /dev/null @@ -1,100 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import 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: The API version to be used with the HTTP request. Constant value: "2020-06-16". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = config.api_version or "2020-06-16" - - self.config = config - - def list( - self, custom_headers=None, raw=False, **operation_config): - """Retrieves a list of available API operations under this Resource - Provider. - - Retrieves a list of available API 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 - ResourceProviderOperationDefinition - :rtype: - ~microsoft.codespaces.models.ResourceProviderOperationDefinitionPaged[~microsoft.codespaces.models.ResourceProviderOperationDefinition] - :raises: - :class:`CodespacesOperationsErrorResponseException` - """ - 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.CodespacesOperationsErrorResponseException(self._deserialize, response) - - return response - - # Deserialize response - deserialized = models.ResourceProviderOperationDefinitionPaged(internal_paging, self._deserialize.dependencies) - - if raw: - header_dict = {} - client_raw_response = models.ResourceProviderOperationDefinitionPaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response - - return deserialized - list.metadata = {'url': '/providers/Microsoft.Codespaces/operations'} diff --git a/src/codespaces/azext_codespaces/vendored_sdks/codespaces/operations/plan_operations.py b/src/codespaces/azext_codespaces/vendored_sdks/codespaces/operations/plan_operations.py deleted file mode 100644 index 7a7233753b4..00000000000 --- a/src/codespaces/azext_codespaces/vendored_sdks/codespaces/operations/plan_operations.py +++ /dev/null @@ -1,709 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse - -from .. import models - - -class PlanOperations(object): - """PlanOperations 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: The API version to be used with the HTTP request. Constant value: "2020-06-16". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = config.api_version or "2020-06-16" - - self.config = config - - def get( - self, resource_group_name, plan_name, custom_headers=None, raw=False, **operation_config): - """Retrieves information about a Codespaces Plan resource. - - Retrieves the properties of a Codespaces Plan. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param plan_name: Name of the Codespaces Plan - :type plan_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: CodespacesPlan or ClientRawResponse if raw=true - :rtype: ~microsoft.codespaces.models.CodespacesPlan or - ~msrest.pipeline.ClientRawResponse - :raises: - :class:`CodespacesPlanErrorResponseException` - """ - # 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("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), - 'planName': self._serialize.url("plan_name", plan_name, 'str', pattern=r'^[a-zA-Z0-9]') - } - 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.CodespacesPlanErrorResponseException(self._deserialize, response) - - deserialized = None - - if response.status_code == 200: - deserialized = self._deserialize('CodespacesPlan', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Codespaces/plans/{planName}'} - - def delete( - self, resource_group_name, plan_name, custom_headers=None, raw=False, **operation_config): - """Deletes a Codespaces Plan resource. - - Deletes an existing Codespaces Plan. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param plan_name: Name of the Codespaces Plan - :type plan_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: None or ClientRawResponse if raw=true - :rtype: None or ~msrest.pipeline.ClientRawResponse - :raises: - :class:`CodespacesPlanErrorResponseException` - """ - # Construct URL - url = self.delete.metadata['url'] - path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), - 'planName': self._serialize.url("plan_name", plan_name, 'str', pattern=r'^[a-zA-Z0-9]') - } - 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, 204]: - raise models.CodespacesPlanErrorResponseException(self._deserialize, response) - - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Codespaces/plans/{planName}'} - - def create( - self, resource_group_name, plan_name, codespaces_plan, custom_headers=None, raw=False, **operation_config): - """Creates a Codespaces Plan. - - Creates a Codespaces Plan with the specified create parameters. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param plan_name: Name of the Codespaces Plan - :type plan_name: str - :param codespaces_plan: Codespaces Plan create parameters. - :type codespaces_plan: ~microsoft.codespaces.models.CodespacesPlan - :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: CodespacesPlan or ClientRawResponse if raw=true - :rtype: ~microsoft.codespaces.models.CodespacesPlan or - ~msrest.pipeline.ClientRawResponse - :raises: - :class:`CodespacesPlanErrorResponseException` - """ - # 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("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), - 'planName': self._serialize.url("plan_name", plan_name, 'str', pattern=r'^[a-zA-Z0-9]') - } - 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(codespaces_plan, 'CodespacesPlan') - - # 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]: - raise models.CodespacesPlanErrorResponseException(self._deserialize, response) - - deserialized = None - - if response.status_code == 200: - deserialized = self._deserialize('CodespacesPlan', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - create.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Codespaces/plans/{planName}'} - - def update( - self, resource_group_name, plan_name, codespaces_plan_update_parameters, custom_headers=None, raw=False, **operation_config): - """Updates a Codespaces Plan. - - Updates the properties of an existing Codespaces Plan with the - specified update parameters. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param plan_name: Name of the Codespaces Plan - :type plan_name: str - :param codespaces_plan_update_parameters: Parameters for updating the - Codespaces Plan. - :type codespaces_plan_update_parameters: - ~microsoft.codespaces.models.CodespacesPlanUpdateParameters - :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: CodespacesPlan or ClientRawResponse if raw=true - :rtype: ~microsoft.codespaces.models.CodespacesPlan or - ~msrest.pipeline.ClientRawResponse - :raises: - :class:`CodespacesPlanErrorResponseException` - """ - # Construct URL - url = self.update.metadata['url'] - path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), - 'planName': self._serialize.url("plan_name", plan_name, 'str', pattern=r'^[a-zA-Z0-9]') - } - 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(codespaces_plan_update_parameters, 'CodespacesPlanUpdateParameters') - - # 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.CodespacesPlanErrorResponseException(self._deserialize, response) - - deserialized = None - - if response.status_code == 200: - deserialized = self._deserialize('CodespacesPlan', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Codespaces/plans/{planName}'} - - def read_all_codespaces_action( - self, resource_group_name, plan_name, expiration=None, custom_headers=None, raw=False, **operation_config): - """Get Codespaces Plan read codespaces access token. - - Get Codespaces Plan access token which allows listing all codespaces in - the Plan. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param plan_name: Name of the Codespaces Plan - :type plan_name: str - :param expiration: The requested expiration of a Codespaces Plan - access token. - :type expiration: long - :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: CodespacesPlanAccessToken or ClientRawResponse if raw=true - :rtype: ~microsoft.codespaces.models.CodespacesPlanAccessToken or - ~msrest.pipeline.ClientRawResponse - :raises: - :class:`CodespacesPlanErrorResponseException` - """ - # Construct URL - url = self.read_all_codespaces_action.metadata['url'] - path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), - 'planName': self._serialize.url("plan_name", plan_name, 'str', pattern=r'^[a-zA-Z0-9]') - } - 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') - if expiration is not None: - query_parameters['expiration'] = self._serialize.query("expiration", expiration, 'long') - - # 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.post(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - raise models.CodespacesPlanErrorResponseException(self._deserialize, response) - - deserialized = None - - if response.status_code == 200: - deserialized = self._deserialize('CodespacesPlanAccessToken', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - read_all_codespaces_action.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Codespaces/plans/{planName}/readAllCodespaces'} - - def write_codespaces_action( - self, resource_group_name, plan_name, expiration=None, custom_headers=None, raw=False, **operation_config): - """Get Codespaces Plan write codespaces access token. - - Get Codespaces Plan access token which allows creating, updating, - deleting and connecting to codespaces owned by the user. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param plan_name: Name of the Codespaces Plan - :type plan_name: str - :param expiration: The requested expiration of a Codespaces Plan - access token. - :type expiration: long - :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: CodespacesPlanAccessToken or ClientRawResponse if raw=true - :rtype: ~microsoft.codespaces.models.CodespacesPlanAccessToken or - ~msrest.pipeline.ClientRawResponse - :raises: - :class:`CodespacesPlanErrorResponseException` - """ - # Construct URL - url = self.write_codespaces_action.metadata['url'] - path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), - 'planName': self._serialize.url("plan_name", plan_name, 'str', pattern=r'^[a-zA-Z0-9]') - } - 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') - if expiration is not None: - query_parameters['expiration'] = self._serialize.query("expiration", expiration, 'long') - - # 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.post(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - raise models.CodespacesPlanErrorResponseException(self._deserialize, response) - - deserialized = None - - if response.status_code == 200: - deserialized = self._deserialize('CodespacesPlanAccessToken', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - write_codespaces_action.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Codespaces/plans/{planName}/writeCodespaces'} - - def delete_all_codespaces_action( - self, resource_group_name, plan_name, expiration=None, custom_headers=None, raw=False, **operation_config): - """Get Codespaces Plan read and delete codespaces access token. - - Get Codespaces Plan access token which allows reading and deleting all - codespaces in the Plan. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param plan_name: Name of the Codespaces Plan - :type plan_name: str - :param expiration: The requested expiration of a Codespaces Plan - access token. - :type expiration: long - :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: CodespacesPlanAccessToken or ClientRawResponse if raw=true - :rtype: ~microsoft.codespaces.models.CodespacesPlanAccessToken or - ~msrest.pipeline.ClientRawResponse - :raises: - :class:`CodespacesPlanErrorResponseException` - """ - # Construct URL - url = self.delete_all_codespaces_action.metadata['url'] - path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), - 'planName': self._serialize.url("plan_name", plan_name, 'str', pattern=r'^[a-zA-Z0-9]') - } - 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') - if expiration is not None: - query_parameters['expiration'] = self._serialize.query("expiration", expiration, 'long') - - # 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.post(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200]: - raise models.CodespacesPlanErrorResponseException(self._deserialize, response) - - deserialized = None - - if response.status_code == 200: - deserialized = self._deserialize('CodespacesPlanAccessToken', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - delete_all_codespaces_action.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Codespaces/plans/{planName}/deleteAllCodespaces'} - - def write_delegates_action( - self, resource_group_name, plan_name, delegate_request, custom_headers=None, raw=False, **operation_config): - """Get Codespaces Plan delegated write codespaces access token. - - Get Codespaces Plan delegated access token which allows creating, - updating, deleting and connecting to codespaces owned by the user. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param plan_name: Name of the Codespaces Plan - :type plan_name: str - :param delegate_request: Codespaces Plan delegate access token - parameters. - :type delegate_request: - ~microsoft.codespaces.models.CodespacesDelegateAccessTokenRequestBody - :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: CodespacesPlanAccessToken or ClientRawResponse if raw=true - :rtype: ~microsoft.codespaces.models.CodespacesPlanAccessToken or - ~msrest.pipeline.ClientRawResponse - :raises: - :class:`CodespacesPlanErrorResponseException` - """ - # Construct URL - url = self.write_delegates_action.metadata['url'] - path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), - 'planName': self._serialize.url("plan_name", plan_name, 'str', pattern=r'^[a-zA-Z0-9]') - } - 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(delegate_request, 'CodespacesDelegateAccessTokenRequestBody') - - # 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.CodespacesPlanErrorResponseException(self._deserialize, response) - - deserialized = None - - if response.status_code == 200: - deserialized = self._deserialize('CodespacesPlanAccessToken', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - write_delegates_action.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Codespaces/plans/{planName}/writeDelegates'} - - def list_by_resource_group( - self, resource_group_name, custom_headers=None, raw=False, **operation_config): - """Retrieves information about all Codespaces Plan resources under the - given subscription and resource group. - - Retrieves the properties of all Codespaces Plans. - - :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 CodespacesPlan - :rtype: - ~microsoft.codespaces.models.CodespacesPlanPaged[~microsoft.codespaces.models.CodespacesPlan] - :raises: - :class:`CodespacesPlanErrorResponseException` - """ - 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 = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1) - } - 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.CodespacesPlanErrorResponseException(self._deserialize, response) - - return response - - # Deserialize response - deserialized = models.CodespacesPlanPaged(internal_paging, self._deserialize.dependencies) - - if raw: - header_dict = {} - client_raw_response = models.CodespacesPlanPaged(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.Codespaces/plans'} - - def list_by_subscription( - self, custom_headers=None, raw=False, **operation_config): - """Retrieves information about all Codespaces Plan resources under the - given subscription. - - Retrieves the properties of all Codespaces Plans. - - :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 CodespacesPlan - :rtype: - ~microsoft.codespaces.models.CodespacesPlanPaged[~microsoft.codespaces.models.CodespacesPlan] - :raises: - :class:`CodespacesPlanErrorResponseException` - """ - 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.CodespacesPlanErrorResponseException(self._deserialize, response) - - return response - - # Deserialize response - deserialized = models.CodespacesPlanPaged(internal_paging, self._deserialize.dependencies) - - if raw: - header_dict = {} - client_raw_response = models.CodespacesPlanPaged(internal_paging, self._deserialize.dependencies, header_dict) - return client_raw_response - - return deserialized - list_by_subscription.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Codespaces/plans'} diff --git a/src/codespaces/azext_codespaces/vendored_sdks/codespaces/version.py b/src/codespaces/azext_codespaces/vendored_sdks/codespaces/version.py deleted file mode 100644 index d9eb9ffc08b..00000000000 --- a/src/codespaces/azext_codespaces/vendored_sdks/codespaces/version.py +++ /dev/null @@ -1,13 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -VERSION = "06/16/2020 00:00:00" - diff --git a/src/codespaces/azext_codespaces/version.py b/src/codespaces/azext_codespaces/version.py deleted file mode 100644 index e281432f088..00000000000 --- a/src/codespaces/azext_codespaces/version.py +++ /dev/null @@ -1,6 +0,0 @@ -# -------------------------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license information. -# -------------------------------------------------------------------------------------------- - -VERSION = '0.3.0' diff --git a/src/codespaces/setup.cfg b/src/codespaces/setup.cfg deleted file mode 100644 index 3c6e79cf31d..00000000000 --- a/src/codespaces/setup.cfg +++ /dev/null @@ -1,2 +0,0 @@ -[bdist_wheel] -universal=1 diff --git a/src/codespaces/setup.py b/src/codespaces/setup.py deleted file mode 100644 index bf0cacbd686..00000000000 --- a/src/codespaces/setup.py +++ /dev/null @@ -1,59 +0,0 @@ -#!/usr/bin/env python - -# -------------------------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license information. -# -------------------------------------------------------------------------------------------- - -import os -import re -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") - -# Inspired by https://github.com/Azure/azure-sdk-for-python/blob/master/azure-mgmt-cdn/setup.py#L45 -extension_path = os.path.dirname(os.path.realpath(__file__)) -with open(os.path.join(extension_path, 'azext_codespaces', 'version.py'), 'r') as version_file: - VERSION = re.search(r'^VERSION\s*=\s*[\'"]([^\'"]*)[\'"]', - version_file.read(), re.MULTILINE).group(1) - -# 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='codespaces', - version=VERSION, - description='The Azure CLI Codespaces extension', - author='Microsoft Corporation', - author_email='azpycli@microsoft.com', - url='https://github.com/Azure/azure-cli-extensions/tree/main/src/codespaces', - long_description=README + '\n\n' + HISTORY, - license='MIT', - classifiers=CLASSIFIERS, - packages=find_packages(), - install_requires=DEPENDENCIES, - package_data={'azext_codespaces': ['azext_metadata.json']}, -) diff --git a/src/index.json b/src/index.json index eec50478ab5..e0f94d5d929 100644 --- a/src/index.json +++ b/src/index.json @@ -9836,180 +9836,6 @@ "sha256Digest": "ee7ca3a5eaa801ceea9173f2ff0a429600bff9e9339d504071c0283b56facec4" } ], - "codespaces": [ - { - "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/codespaces-0.1.0-py2.py3-none-any.whl", - "filename": "codespaces-0.1.0-py2.py3-none-any.whl", - "metadata": { - "azext.isPreview": true, - "azext.minCliCoreVersion": "2.3.1", - "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" - ], - "extensions": { - "python.details": { - "contacts": [ - { - "email": "azpycli@microsoft.com", - "name": "Microsoft Corporation", - "role": "author" - } - ], - "document_names": { - "description": "DESCRIPTION.rst" - }, - "project_urls": { - "Home": "https://github.com/Azure/azure-cli-extensions" - } - } - }, - "generator": "bdist_wheel (0.30.0)", - "license": "MIT", - "metadata_version": "2.0", - "name": "codespaces", - "summary": "The Azure CLI Codespaces extension", - "version": "0.1.0" - }, - "sha256Digest": "d859256dac3177970bb631e149bcabd19d47fa9e972fb331662413b5cfe0ce32" - }, - { - "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/codespaces-0.2.0-py2.py3-none-any.whl", - "filename": "codespaces-0.2.0-py2.py3-none-any.whl", - "metadata": { - "azext.isPreview": true, - "azext.minCliCoreVersion": "2.3.1", - "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" - ], - "extensions": { - "python.details": { - "contacts": [ - { - "email": "azpycli@microsoft.com", - "name": "Microsoft Corporation", - "role": "author" - } - ], - "document_names": { - "description": "DESCRIPTION.rst" - }, - "project_urls": { - "Home": "https://github.com/Azure/azure-cli-extensions" - } - } - }, - "generator": "bdist_wheel (0.30.0)", - "license": "MIT", - "metadata_version": "2.0", - "name": "codespaces", - "summary": "The Azure CLI Codespaces extension", - "version": "0.2.0" - }, - "sha256Digest": "793f4dbf828efc9474cc2d6aa314b0968c25321978b0dceaf33005f02c5f1bd7" - }, - { - "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/codespaces-0.2.1-py2.py3-none-any.whl", - "filename": "codespaces-0.2.1-py2.py3-none-any.whl", - "metadata": { - "azext.isPreview": true, - "azext.minCliCoreVersion": "2.3.1", - "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" - ], - "extensions": { - "python.details": { - "contacts": [ - { - "email": "azpycli@microsoft.com", - "name": "Microsoft Corporation", - "role": "author" - } - ], - "document_names": { - "description": "DESCRIPTION.rst" - }, - "project_urls": { - "Home": "https://github.com/Azure/azure-cli-extensions" - } - } - }, - "generator": "bdist_wheel (0.30.0)", - "license": "MIT", - "metadata_version": "2.0", - "name": "codespaces", - "summary": "The Azure CLI Codespaces extension", - "version": "0.2.1" - }, - "sha256Digest": "30569dd2124bec69abb6e6ae99c5a73059d767434bfe36d6f72a35b4f0e904f3" - }, - { - "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/codespaces-0.3.0-py2.py3-none-any.whl", - "filename": "codespaces-0.3.0-py2.py3-none-any.whl", - "metadata": { - "azext.isPreview": true, - "azext.minCliCoreVersion": "2.3.1", - "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" - ], - "extensions": { - "python.details": { - "contacts": [ - { - "email": "azpycli@microsoft.com", - "name": "Microsoft Corporation", - "role": "author" - } - ], - "document_names": { - "description": "DESCRIPTION.rst" - }, - "project_urls": { - "Home": "https://github.com/Azure/azure-cli-extensions" - } - } - }, - "generator": "bdist_wheel (0.30.0)", - "license": "MIT", - "metadata_version": "2.0", - "name": "codespaces", - "summary": "The Azure CLI Codespaces extension", - "version": "0.3.0" - }, - "sha256Digest": "04d6fc97d8f1d49a54121198a32508118b7102aa69fa6bd31af25103a3af5a4c" - } - ], "communication": [ { "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/communication-0.1.0-py3-none-any.whl", diff --git a/src/service_name.json b/src/service_name.json index 20147066339..ca6a98d5901 100644 --- a/src/service_name.json +++ b/src/service_name.json @@ -69,11 +69,6 @@ "AzureServiceName": "Azure Cloud Services (extended support)", "URL": "https://docs.microsoft.com/azure/cloud-services-extended-support/" }, - { - "Command": "az codespace", - "AzureServiceName": "Visual Studio", - "URL": "https://docs.microsoft.com/visualstudio/codespaces/overview/what-is-vsonline" - }, { "Command": "az communication", "AzureServiceName": "Azure Communication Service",